diff options
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2020.01.0/0009-usb-Forward-error-code-from-usb_set_configuration.patch')
-rw-r--r-- | configs/platform-v7a/patches/barebox-2020.01.0/0009-usb-Forward-error-code-from-usb_set_configuration.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/barebox-2020.01.0/0009-usb-Forward-error-code-from-usb_set_configuration.patch b/configs/platform-v7a/patches/barebox-2020.01.0/0009-usb-Forward-error-code-from-usb_set_configuration.patch new file mode 100644 index 0000000..ceef0eb --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2020.01.0/0009-usb-Forward-error-code-from-usb_set_configuration.patch @@ -0,0 +1,40 @@ +From: Sascha Hauer <s.hauer@pengutronix.de> +Date: Thu, 19 Dec 2019 19:30:15 +0100 +Subject: [PATCH] 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> +--- + drivers/usb/core/usb.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c +index ad3bacf23655..1c3dcb79a847 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", |