summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-12-19 19:30:15 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-12-20 15:06:20 +0100
commit107369f2e7055e4878d90e5ea6c1487257abf207 (patch)
tree20c9a076259a0a0e4e025567541f29fb65b4082b /drivers/usb/core
parent1d0b3c8ac40c21e71c2b84d273145d71a66311b7 (diff)
downloadbarebox-107369f2e7055e4878d90e5ea6c1487257abf207.tar.gz
barebox-107369f2e7055e4878d90e5ea6c1487257abf207.tar.xz
usb: Forward error code from usb_set_configuration
Instead of returning -1 forward the error code and take the opportunity to print the error string. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/usb.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index ad3bacf236..1c3dcb79a8 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -124,7 +124,7 @@ static int usb_set_configuration(struct usb_device *dev, int configuration)
dev->toggle[1] = 0;
return 0;
} else
- return -1;
+ return res;
}
/* The routine usb_set_maxpacket_ep() is extracted from the loop of routine
@@ -412,9 +412,11 @@ int usb_new_device(struct usb_device *dev)
usb_parse_config(dev, buf, 0);
usb_set_maxpacket(dev);
/* we set the default configuration here */
- if (usb_set_configuration(dev, dev->config.desc.bConfigurationValue)) {
- printf("failed to set default configuration " \
- "len %d, status %lX\n", dev->act_len, dev->status);
+ err = usb_set_configuration(dev, dev->config.desc.bConfigurationValue);
+ if (err) {
+ printf("Setting default configuration failed with: %s\n" \
+ "len %d, status %lX\n", strerror(-err),
+ dev->act_len, dev->status);
goto err_out;
}
pr_debug("new device: Mfr=%d, Product=%d, SerialNumber=%d\n",