On Thu, 7 Feb 2008, Francis Moreau wrote:

> On Feb 7, 2008 5:49 PM, Alan Stern <[EMAIL PROTECTED]> wrote:
> > > sb-storage: Command MODE_SENSE (6 bytes)
> > > usb-storage:  1a 00 3f 00 c0 00
> > > usb-storage: Bulk Command S 0x43425355 T 0x6 L 192 F 128 Trg 0 LUN 0 CL 6
> > > usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
> >
> > At this point the command has been sent and the gadget has queued its
> > 20-byte response to be sent back on the bulk-IN endpoint.  It tries to
> > halt the endpoint after the data has been sent:
> >
> > > g_file_storage gadget: bulk-in set halt
> > > 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_sglist: xfer 192 bytes, 1 entries
> > > usb-storage: Status code -32; transferred 0/192
> >
> > Here the host did not receive the 20 bytes of data; instead it saw only
> > the stall.
> >
> 
> Really ?
> 
> It doesn't look to me that the host didn't receive the 20 bytes of data since
> it printed out:
> 
>    usb-storage: Status code 0; transferred 31/31
>    usb-storage: -- transfer complete

That 31 bytes was the _previous_ transfer: bulk-OUT.

> But after that it tried to start a new transfer:
> 
>    usb-storage: usb_stor_bulk_transfer_sglist: xfer 192 bytes, 1 entries

Yes, that is the bulk_IN which should have received 20 bytes (a short 
transfer since the host expects to receive 192 bytes).

> and since the endpoint is stalled, it gets:
> 
>   usb-storage: Status code -32; transferred 0/192
> 
> Am I missing something ?

The endpoint was halted too soon.  It should have sent the 20 bytes and 
then stalled the _following_ 13-byte transfer.

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