On Sat, 4 Feb 2012, Sebastian Andrzej Siewior wrote: > >What happens if host sends another setup packet while one of the above > >request is pending? Most of the controller drivers are nuking the > >endpoint and start processing the new packet. But the composite driver's > >processing is not canceled. I guess this can happen with the current > >"DELAYED_STATUS" implementation also. > > You should not continue processing setup packets after you received a > DELAYED_STATUS return code. No, that's wrong. The gadget _must_ process SETUP packets, always. What should happen is that the response to the first SETUP (the one that was delayed) should not be sent after another SETUP is received. If the workqueue routine hasn't started running yet, cancelling it would be a good idea. Alan Stern -- 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