[U-Boot] [PATCH 1/1] usb: return 0 from usb_stor_get_info even if removable media

This fixes a regression caused by
commit 07b2b78ce4bc8ae25e066c65245eaf58c0d9a67c dm: usb: Convert USB storage to use driver-model for block devs
which caused part_init to be called when it was not previously. Without this patch, the following happens when a USB sd card reader is used.
=> usb start starting USB... USB0: Port not available. USB1: USB EHCI 1.00 scanning bus 1 for devices... 3 USB Device(s) found scanning usb for storage devices... Device NOT ready Request Sense returned 02 3A 00 ### ERROR ### Please RESET the board ###
This happens because dev_desc->blksz is 0.
Signed-off-by: Troy Kisky troy.kisky@boundarydevices.com --- common/usb_storage.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c index b524a15..83279c4 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1440,10 +1440,8 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, " Request Sense returned %02X %02X %02X\n", pccb->sense_buf[2], pccb->sense_buf[12], pccb->sense_buf[13]); - if (dev_desc->removable == 1) { + if (dev_desc->removable == 1) dev_desc->type = perq; - return 1; - } return 0; } pccb->pdata = (unsigned char *)cap;

On 04/11/2017 03:23 AM, Troy Kisky wrote:
This fixes a regression caused by
commit 07b2b78ce4bc8ae25e066c65245eaf58c0d9a67c dm: usb: Convert USB storage to use driver-model for block devs
which caused part_init to be called when it was not previously. Without this patch, the following happens when a USB sd card reader is used.
Applied, thanks.
=> usb start starting USB... USB0: Port not available. USB1: USB EHCI 1.00 scanning bus 1 for devices... 3 USB Device(s) found scanning usb for storage devices... Device NOT ready Request Sense returned 02 3A 00 ### ERROR ### Please RESET the board ###
This happens because dev_desc->blksz is 0.
Signed-off-by: Troy Kisky troy.kisky@boundarydevices.com
common/usb_storage.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c index b524a15..83279c4 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1440,10 +1440,8 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, " Request Sense returned %02X %02X %02X\n", pccb->sense_buf[2], pccb->sense_buf[12], pccb->sense_buf[13]);
if (dev_desc->removable == 1) {
if (dev_desc->removable == 1) dev_desc->type = perq;
return 1;
return 0; } pccb->pdata = (unsigned char *)cap;}
participants (2)
-
Marek Vasut
-
Troy Kisky