I'll try to change that max size thing (maybe it really always wants to transfer just the header, or then the full page?), but regardless it looks like OHCI is a bit fragile.
Usually this sort of stuff is the device being fragile. OHCI can only report that the USB protocol got mangled; it's not actually the component doing the mangling in this case, just reporting a wire-level problem from the device.
usb-storage: queuecommand called usb-storage: *** thread awakened. usb-storage: Command MODE_SENSE_10 (10 bytes) usb-storage: 5a 00 08 00 00 00 00 00 80 00 usb-storage: Bulk Command S 0x43425355 T 0x7 L 128 F 128 Trg 0 LUN 0 CL 10 usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes usb-storage: Status code 0; transferred 31/31 usb-storage: -- transfer complete usb-storage: Bulk command transfer result=0 usb-storage: usb_stor_bulk_transfer_buf: xfer 128 bytes usb-storage: Status code -75; transferred 64/128 usb-storage: -- babble usb-storage: Bulk data transfer result 0x3
The last 3 lines are the first sign of trouble. As previously discussed, I don't see how a BABBLE error here is possible from a technical point of view.
I already explained that: sending a packet bigger than the maximum packet size defined in the device will do that. No mystery at all, that's exactly what -EOVERFLOW means.
Maybe the device wants to send more than 128 bytes. And maybe EHCI/UHCI just handles that error case more gracefully (ignoring the extra babble?).
I don't think any HC hardware will mask that kind of device error.
Did you test this with EHCI at full speed? (Connect a high speed hub to an EHCI root hub port, then a full speed hub to that, and then this storage device to the full speed hub.) In that case, the high speed hub's transaction translator would be detecting this problem ... likely the failure mode will be different, making the storage/scsi code react in yet anothe way.
David, any ideas? What does OHCI do if a buggy device sends more data than the controller expects/wants?
It reports the babble you saw.
- Dave
Linus
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel