From 1d5827a12ebd20d64b972111b846cb1ca87ff82e Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 25 Mar 2015 12:22:12 -0600 Subject: [PATCH] dm: usb: Fix type problems in usb_stor_get_info() This function assumes that unsigned long is 32-bits wide, but it is not on 64-bit machines. Use the correct type, and add a few debug() lines also. Signed-off-by: Simon Glass Reviewed-by: Marek Vasut --- common/usb_storage.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/usb_storage.c b/common/usb_storage.c index 62527a98a0..5108d23434 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -1191,6 +1191,7 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum, iface->desc.bInterfaceClass != USB_CLASS_MASS_STORAGE || iface->desc.bInterfaceSubClass < US_SC_MIN || iface->desc.bInterfaceSubClass > US_SC_MAX) { + debug("Not mass storage\n"); /* if it's not a mass storage, we go no further */ return 0; } @@ -1317,8 +1318,10 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, pccb->lun = dev_desc->lun; debug(" address %d\n", dev_desc->target); - if (usb_inquiry(pccb, ss)) + if (usb_inquiry(pccb, ss)) { + debug("%s: usb_inquiry() failed\n", __func__); return -1; + } perq = usb_stor_buf[0]; modi = usb_stor_buf[1]; @@ -1328,6 +1331,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, * they would not respond to test_unit_ready . */ if (((perq & 0x1f) == 0x1f) || ((perq & 0x1f) == 0x0d)) { + debug("%s: unknown/unsupported device\n", __func__); return 0; } if ((modi&0x80) == 0x80) { -- 2.39.5