A further question: I'm quite sure that the read is supposed to deliver more than 64 bytes, and I know for sure that the endpoint descriptor specifies a pacaket size of 64 bytes. My understanding is that this is still okay, but that the endpoint is supposed to split the larger packet up into a sequence of smaller ones which are 64 bytes long (except for the last one). Is this correct? If it matters, this is a USB 1.1 device. Assuming I'm correct, what does Linux do if the device attempts to transfer the whole larger packet in a single operation? Is it possible that this might result in ETIME because, perhaps, a lower layer fails the transfer, and then, maybe, a higher layer sees it as a response failure? -- Dave Mielke | 2213 Fox Crescent | The Bible is the very Word of God. Phone: 1-613-726-0014 | Ottawa, Ontario | http://Mielke.cc/bible/ EMail: dave@xxxxxxxxx | Canada K2A 1H7 | http://FamilyRadio.com/ -- 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