Hi Andries,

> (iii) maybe your device wants to return more bytes than 4;
>       the error is -EOVERFLOW, that is, "babble".
>       I expect my recent patch would help.

Unfortunately, it doesn't. The "babble" still happens, even if requesting
8 bytes:

Before patching:

May 26 08:21:00 gfrw1044 kernel: sdc: Mode Sense: 4b 00 00 08
May 26 08:21:00 gfrw1044 kernel: usb-storage: queuecommand() called
May 26 08:21:00 gfrw1044 kernel: usb-storage: *** thread awakened.
May 26 08:21:00 gfrw1044 kernel: usb-storage: Command MODE_SENSE (6 bytes)
May 26 08:21:00 gfrw1044 kernel: usb-storage:  1a 48 08 00 04 00
May 26 08:21:00 gfrw1044 kernel: usb-storage: Bulk command S 0x43425355 T 0x12 Trg 0 
LUN 2 L 4 F 128 CL 6
May 26 08:21:00 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 31 
bytes
May 26 08:21:00 gfrw1044 kernel: usb-storage: Status code 0; transferred 31/31
May 26 08:21:00 gfrw1044 kernel: usb-storage: -- transfer complete
May 26 08:21:00 gfrw1044 kernel: usb-storage: Bulk command transfer result=0
May 26 08:21:00 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 4 
bytes
May 26 08:21:00 gfrw1044 kernel: drivers/usb/host/uhci-hcd.c: uhci_result_common() 
failed with status 500000
May 26 08:21:00 gfrw1044 kernel: [c3003240] link (03003212) element (03002030)
May 26 08:21:00 gfrw1044 kernel:   0: [c3002030] link (00000001) e3 SPD IOC Stalled 
Babble Length=3 MaxLen=3 DT1 EndPt=1 Dev=2, PID=69(IN) (buf=0076ae00)

With patch to sd.c applied and translation 6->10:

May 27 21:40:57 gfrw1044 kernel: sdc: Mode Sense: 47 00 00 ff
May 27 21:40:57 gfrw1044 kernel: usb-storage: queuecommand() called
May 27 21:40:57 gfrw1044 kernel: usb-storage: *** thread awakened.
May 27 21:40:57 gfrw1044 kernel: usb-storage: Command MODE_SENSE (6 bytes)
May 27 21:40:57 gfrw1044 kernel: usb-storage:  1a 48 08 00 08 00
May 27 21:40:57 gfrw1044 kernel: usb-storage: Invoking Mode Translation
May 27 21:40:57 gfrw1044 kernel: usb-storage: Bulk command S 0x43425355 T 0x12 Trg 0 
LUN 2 L 8 F 128 CL 12
May 27 21:40:57 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 31 
bytes
May 27 21:40:57 gfrw1044 kernel: usb-storage: Status code 0; transferred 31/31
May 27 21:40:57 gfrw1044 kernel: usb-storage: -- transfer complete
May 27 21:40:57 gfrw1044 kernel: usb-storage: Bulk command transfer result=0
May 27 21:40:57 gfrw1044 kernel: usb-storage: usb_stor_bulk_transfer_buf(): xfer 8 
bytes
May 27 21:40:57 gfrw1044 kernel: drivers/usb/host/uhci-hcd.c: uhci_result_common() 
failed with status 500000
May 27 21:40:57 gfrw1044 kernel: [c0e40240] link (00e40212) element (00dfb030)
May 27 21:40:57 gfrw1044 kernel:   0: [c0dfb030] link (00000001) e3 SPD IOC Stalled 
Babble Length=7 MaxLen=7 DT1 EndPt=1 Dev=2, PID=69(IN) (buf=00ebfe00)

Thanks,
--jochen



-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to