Commit 23601558 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

[PATCH] USB Gadget: Fix file-storage gadget Request Sense length

On Fri, 7 May 2004, kernel@metro.cx wrote:
> Hi All,
>
> I don't know where else to report this, but I found a very very very
> minor bug in the usb gadgets drivers, specifically the file_storage.c
> mass storage driver.
>
> In the function do_request_sense(..) it says:
>
> buf[7] = 18 - 7;                        // Additional sense length
>
> Whereas (according to page 38 of the USB mass storage class, UFI command spec,
> http://www.usb.org/developers/devclass_docs#approved) this clearly neads
> to be equal to 10, not 11.
>
> I checked with the 2.6.5 source, it is still there. Hope someone will find this usefull, although most USB hosts seem to ignore length bits alltogether anyway....
>
> Koen Martens

You are quite right; thank you for pointing this out.  Greg, please apply
the patch below.
parent c0e1607a
...@@ -2054,7 +2054,7 @@ static int do_request_sense(struct fsg_dev *fsg, struct fsg_buffhd *bh) ...@@ -2054,7 +2054,7 @@ static int do_request_sense(struct fsg_dev *fsg, struct fsg_buffhd *bh)
buf[0] = 0x80 | 0x70; // Valid, current error buf[0] = 0x80 | 0x70; // Valid, current error
buf[2] = SK(sd); buf[2] = SK(sd);
put_be32(&buf[3], sdinfo); // Sense information put_be32(&buf[3], sdinfo); // Sense information
buf[7] = 18 - 7; // Additional sense length buf[7] = 18 - 8; // Additional sense length
buf[12] = ASC(sd); buf[12] = ASC(sd);
buf[13] = ASCQ(sd); buf[13] = ASCQ(sd);
return 18; return 18;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment