diff mbox series

[v3,1/1] usb: storage: continue probe on "Invalid device"

Message ID 20221104073859.13190-1-j@jannau.net
State Accepted
Delegated to: Marek Vasut
Headers show
Series [v3,1/1] usb: storage: continue probe on "Invalid device" | expand

Commit Message

Janne Grunau Nov. 4, 2022, 7:38 a.m. UTC
Fixes a crash during probing of sd card readers without medium present.
Seen with the device below but reported for many other devices.

  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x0326 Card reader
  bcdDevice           11.24
  iManufacturer           1 Realtek
  iProduct                2 USB3.0 Card Reader
  iSerial                 3 201404081410

Link: https://github.com/AsahiLinux/linux/issues/44
Link: https://lists.denx.de/pipermail/u-boot/2022-July/489717.html

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
---
 common/usb_storage.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Marek Vasut Nov. 4, 2022, 11:23 a.m. UTC | #1
On 11/4/22 08:38, Janne Grunau wrote:
> Fixes a crash during probing of sd card readers without medium present.
> Seen with the device below but reported for many other devices.
> 
>    idVendor           0x0bda Realtek Semiconductor Corp.
>    idProduct          0x0326 Card reader
>    bcdDevice           11.24
>    iManufacturer           1 Realtek
>    iProduct                2 USB3.0 Card Reader
>    iSerial                 3 201404081410
> 
> Link: https://github.com/AsahiLinux/linux/issues/44
> Link: https://lists.denx.de/pipermail/u-boot/2022-July/489717.html
> 
> Signed-off-by: Janne Grunau <j@jannau.net>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Marek Vasut <marex@denx.de>

Applied, thanks.
diff mbox series

Patch

diff --git a/common/usb_storage.c b/common/usb_storage.c
index eaa31374ef73..f9204552a683 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -239,6 +239,7 @@  static int usb_stor_probe_device(struct usb_device *udev)
 			ret = device_unbind(dev);
 			if (ret)
 				return ret;
+			continue;
 		}
 
 		ret = blk_probe_or_unbind(dev);