Hi Sebastian, 2011/07/07 23:27, Sebastian Andrzej Siewior wrote: > * Yoshihiro Shimoda | 2011-07-07 09:58:32 [+0900]: > >> diff --git a/drivers/usb/gadget/m66592-udc.c b/drivers/usb/gadget/m66592-udc.c >> index dd9f460..019edc0 100644 >> --- a/drivers/usb/gadget/m66592-udc.c >> +++ b/drivers/usb/gadget/m66592-udc.c >> @@ -1051,7 +1052,17 @@ static void set_feature(struct m66592 *m66592, struct usb_ctrlrequest *ctrl) >> >> switch (ctrl->bRequestType & USB_RECIP_MASK) { >> case USB_RECIP_DEVICE: >> - control_end(m66592, 1); >> + switch (le16_to_cpu(ctrl->wValue)) { >> + case USB_DEVICE_TEST_MODE: >> + control_end(m66592, 1); >> + mdelay(3); >> + m66592_bset(m66592, le16_to_cpu(ctrl->wIndex >> 8), >> + M66592_TESTMODE); > > Ch 9.4.9 says: > "The transition to test mode must be complete no later than 3 ms after > the completion of the status stage of the request." > > So why are you adding a delay of 3ms here before you enable the test > mode? Thank you very much for your point. I didn't know about the specification. So, the delay of 3ms had no grounds. The delay was a wait for the completion of status stage. The controller has a register about current control stage. (The bits of CTSQ in INTSTS0.) So, I will remove the delay and add a wait for the completion of status stage. And, I will also fix a similar code of the r8a66597-udc.c. Best regards, Yoshihiro Shimoda -- 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