Hi, I am debugging a weird musb problem in which musb is in high-speed device mode loaded with g_mass_storage. For some reason, musb received 10 bytes in SETUP packets during enumeration. Please see the following log from musb. <after connected to host> [ 447.100858] musb-hdrc musb-hdrc.0: usbintr (1) epintr(0) [ 447.250856] musb-hdrc musb-hdrc.0: usbintr (4) epintr(0) [ 447.569139] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1) [ 447.574515] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup [ 447.581189] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ? [ 447.586737] musb-hdrc musb-hdrc.0: usbintr (0) epintr(1) [ 447.592103] musb_g_ep0_irq 815: SETUP packet len 10 != 8 ? [ 447.597652] musb-hdrc musb-hdrc.0: Unhandled USB IRQ 00000001-00000000 ...... When look at the following code in musb_gadget_ep0.c, when len != 8, musb_read_setup() is not called, so it just breaks out without flushing the fifo or sending MUSB_CSR0_P_SVDRXPKTRDY. Is this a bug? I would think in this error case the data will be always in fifo and not be able receive further packets. I cannot confirm this since I an not able to hook up the analyzer at this moment. 797 case MUSB_EP0_STAGE_SETUP: 798 setup: 799 if (csr & MUSB_CSR0_RXPKTRDY) { 800 struct usb_ctrlrequest setup; 801 int handled = 0; 802 803 if (len != 8) { 804 ERR("SETUP packet len %d != 8 ?\n", len); 805 break; 806 } 807 musb_read_setup(musb, &setup); 808 retval = IRQ_HANDLED; Thanks, -Bin. -- 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