On Wed, 14 Oct 2015, Jassi Brar wrote: > BTW, should the gadget stack ever queue a Non-ZLP as reply to some > setup request that has USB_DIR_IN not set? Yes. If USB_DIR_IN is not set then the control transfer is OUT, so the gadget needs to queue a request to receive some data from the host. That request will obviously need to be a non-ZLP. In fact, it's hard to think of a situation where a gadget would ever want to submit a zero-length OUT request. Isn't the UDC driver supposed to handle the status stage of a control-IN transfer automatically? Could this cause the problem you're seeing? The host tries to send more data than the gadget is ready to receive? (Although then the error code on the gadget side should be -75, not -71.) Alan Stern -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html