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

Reply via email to