On Thu, Mar 12, 2015 at 11:04:09AM -0500, Felipe Balbi wrote: > Hi, > > On Thu, Mar 12, 2015 at 10:30:21AM +0800, Li Jun wrote: > > From: Li Jun <b47624@xxxxxxxxxxxxx> > > > > Peripheral answers OTG status selector request from host according to > > host_request_flag of gadget, length is 1. > > > > Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> > > --- > > drivers/usb/chipidea/udc.c | 28 +++++++++++++++++++++++----- > > 1 file changed, 23 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > > index 4254792..eed66bc 100644 > > --- a/drivers/usb/chipidea/udc.c > > +++ b/drivers/usb/chipidea/udc.c > > @@ -831,7 +831,17 @@ __acquires(hwep->lock) > > return -ENOMEM; > > > > req->complete = isr_get_status_complete; > > - req->length = 2; > > + if (setup->wIndex == OTG_STS_SELECTOR) { > > + if (ci_otg_is_fsm_mode(ci)) { > > + req->length = 1; > > + } else { > > + retval = -ENOTSUPP; > > + goto err_free_req; > > + } > > + } else { > > + req->length = 2; > > + } > > this could still be done generically in composite.c > I suggested it at v1, but after thinking more, we have handled DEVICE request type at individual udc driver, like remote wakeup, self-power support, so it is reasonable we handle get_status that if we support hnp polling at udc driver, since it is controller driver's capabilities. -- 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