diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-19 19:30:15 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-20 15:06:20 +0100 |
commit | 107369f2e7055e4878d90e5ea6c1487257abf207 (patch) | |
tree | 20c9a076259a0a0e4e025567541f29fb65b4082b /drivers/usb/core/usb.c | |
parent | 1d0b3c8ac40c21e71c2b84d273145d71a66311b7 (diff) | |
download | barebox-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/usb.c')
-rw-r--r-- | drivers/usb/core/usb.c | 10 |
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", |