Skip to content
Snippets Groups Projects
Commit fac71cc4 authored by Kim B. Heino's avatar Kim B. Heino Committed by Remy Bohmer
Browse files

USB storage probe


While debugging one ill behaving USB device I found two bugs in USB
storage probe.

usb_stor_get_info() returns -1 (error), 0 (skip) or 1 (ok). First part
of this patch fixes error case.

Second part fixes usb_inquiry()'s retry counter handling. Original code
had retry = -1 on error case, not retry = 0 as checked in the next line.

Signed-off-by: default avatarKim B. Heino <Kim.Heino@bluegiga.com>
parent aaad108b
No related branches found
No related tags found
No related merge requests found
...@@ -244,7 +244,7 @@ int usb_stor_scan(int mode) ...@@ -244,7 +244,7 @@ int usb_stor_scan(int mode)
* get info and fill it in * get info and fill it in
*/ */
if (usb_stor_get_info(dev, &usb_stor[usb_max_devs], if (usb_stor_get_info(dev, &usb_stor[usb_max_devs],
&usb_dev_desc[usb_max_devs])) &usb_dev_desc[usb_max_devs]) == 1)
usb_max_devs++; usb_max_devs++;
} }
/* if storage device */ /* if storage device */
...@@ -888,7 +888,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss) ...@@ -888,7 +888,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss)
USB_STOR_PRINTF("inquiry returns %d\n", i); USB_STOR_PRINTF("inquiry returns %d\n", i);
if (i == 0) if (i == 0)
break; break;
} while (retry--); } while (--retry);
if (!retry) { if (!retry) {
printf("error in inquiry\n"); printf("error in inquiry\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment