Linus Torvalds wrote:

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

Reply via email to