On Tue, Mar 17, 2015 at 10:37:50PM +0800, Li Jun wrote: > Set host_request_flag if the current peripheral wants to take host role > via changing a_bus_req or b_bus_req by user application. %s/changing/setting After changing avoid, add: Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> > > Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> > --- > drivers/usb/chipidea/otg_fsm.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c > index 083acf4..2ec90dc 100644 > --- a/drivers/usb/chipidea/otg_fsm.c > +++ b/drivers/usb/chipidea/otg_fsm.c > @@ -66,6 +66,11 @@ set_a_bus_req(struct device *dev, struct device_attribute *attr, > return count; > } > ci->fsm.a_bus_req = 1; > + if (ci->fsm.otg->state == OTG_STATE_A_PERIPHERAL) { > + ci->gadget.host_request_flag = 1; > + mutex_unlock(&ci->fsm.lock); > + return count; > + } > } > > ci_otg_queue_work(ci); > @@ -144,8 +149,14 @@ set_b_bus_req(struct device *dev, struct device_attribute *attr, > mutex_lock(&ci->fsm.lock); > if (buf[0] == '0') > ci->fsm.b_bus_req = 0; > - else if (buf[0] == '1') > + else if (buf[0] == '1') { > ci->fsm.b_bus_req = 1; > + if (ci->fsm.otg->state == OTG_STATE_B_PERIPHERAL) { > + ci->gadget.host_request_flag = 1; > + mutex_unlock(&ci->fsm.lock); > + return count; > + } > + } > > ci_otg_queue_work(ci); > mutex_unlock(&ci->fsm.lock); > -- > 1.7.9.5 > -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html