Commit cf3b38fd authored by Matthew Dharm's avatar Matthew Dharm Committed by Greg Kroah-Hartman

[PATCH] USB Storage: Fix for Fuji Finepix 1400

This patch changes some error checking so that some bogus devices (like the
Fuji Finepix 1400) will work.

This is basically relaxing a test on a field that the spec says "should
always be zero"
parent ce6aacf0
...@@ -809,15 +809,19 @@ int usb_stor_CBI_transport(Scsi_Cmnd *srb, struct us_data *us) ...@@ -809,15 +809,19 @@ int usb_stor_CBI_transport(Scsi_Cmnd *srb, struct us_data *us)
} }
/* If not UFI, we interpret the data as a result code /* If not UFI, we interpret the data as a result code
* The first byte should always be a 0x0 * The first byte should always be a 0x0.
* The second byte & 0x0F should be 0x0 for good, otherwise error *
* Some bogus devices don't follow that rule. They stuff the ASC
* into the first byte -- so if it's non-zero, call it a failure.
*/ */
if (us->iobuf[0]) { if (us->iobuf[0]) {
US_DEBUGP("CBI IRQ data showed reserved bType %d\n", US_DEBUGP("CBI IRQ data showed reserved bType 0x%x\n",
us->iobuf[0]); us->iobuf[0]);
return USB_STOR_TRANSPORT_ERROR; goto Failed;
} }
/* The second byte & 0x0F should be 0x0 for good, otherwise error */
switch (us->iobuf[1] & 0x0F) { switch (us->iobuf[1] & 0x0F) {
case 0x00: case 0x00:
return USB_STOR_TRANSPORT_GOOD; return USB_STOR_TRANSPORT_GOOD;
......
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