On Thu, 13 Mar 2014, David Mosberger wrote: > To answer my own question: it appears that USB peripherals return NAKs > not only when the peripheral is not ready to accept the data, but also > when the peripheral doesn't know what to do with the data. No, that's not right. If the device doesn't know what to do with the data (for example, if it doesn't recognize a particular SETUP request), it replies with a STALL. > So an > infinite series of NAKs basically is just the device's way of saying: > I don't know what the heck to do with the data you keep sending me. > > I expected to get an error result for such a case, but I can see why > sending a NAK may be the most natural response for the device. Probably what happens is that the device doesn't queue an internal request for an OUT transfer until it knows that it needs some data. Without a request queued, the device's USB controller doesn't have any place to store the data sent by the host computer, so it NAKs the transfer. It really is saying "I'm not ready to accept this data". 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