On Thu, 7 Feb 2008, Francis Moreau wrote:
> Just to be sure I'm understanding you:
>
> This is a bulk-in transfer which is going to fail:
>
> usb-storage: Bulk Command S 0x43425355 T 0x6 L 192 F 128 Trg 0 LUN 0 CL 6
No; it is the bulk-OUT transfer before the failing bulk-IN transfer.
> This is a bulk-out transfer which suceed before the previous on failed:
>
> usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
Yes. This is the _same_ transfer as the one above.
> This is the next bulk-out transfer since the previous one succeed:
>
> usb-storage: usb_stor_bulk_transfer_sglist: xfer 192 bytes, 1 entries
This is the next transfer; it is bulk-IN, not bulk-OUT.
Look, here is the short summary:
bulk-OUT transfer (host sends 31 bytes), succeeds.
bulk-IN transfer (host expects to receive 192 bytes,
gadget driver wants to send only 20 bytes),
should succeed but instead it STALLS.
bulk-IN transfer (host expects to receive 13 bytes,
gadget driver wants to stall),
should STALL but instead it gets a Babble error
because the device sent 20 bytes instead of 13.
You see the problem? The order of bulk-IN events should have been:
Send 20 bytes, then STALL. Instead it actually was STALL, then send 20
bytes.
Alan Stern
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html