summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJules Maselbas <jmaselbas@kalray.eu>2020-12-10 11:31:03 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-12-16 09:20:27 +0100
commit495f663e1fad8dc69a66f09bbfe12aef9883beae (patch)
treedbb637385b869f58569b04ee77984c449e1156c9 /drivers
parent392ca0d6ea31dbdde85bf723670d319b02643139 (diff)
downloadbarebox-495f663e1fad8dc69a66f09bbfe12aef9883beae.tar.gz
barebox-495f663e1fad8dc69a66f09bbfe12aef9883beae.tar.xz
usb: dwc2: Fix dr_mode check in dwc2_get_dr_mode
In Linux, configs CONFIG_USB_DWC2_HOST and CONFIG_USB_DWC2_GADGET are respectively for host only and gadget only support, they are mutually exclusive. However this is not the case in barebox, they are independent options. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/dwc2/core.c14
-rw-r--r--drivers/usb/dwc2/dwc2.c2
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
index d700c3e6b3..4e356a1df5 100644
--- a/drivers/usb/dwc2/core.c
+++ b/drivers/usb/dwc2/core.c
@@ -649,18 +649,16 @@ int dwc2_get_dr_mode(struct dwc2 *dwc2)
if (dwc2_hw_is_device(dwc2)) {
dwc2_dbg(dwc2, "Controller is device only\n");
- if (IS_ENABLED(CONFIG_USB_DWC2_HOST)) {
- dwc2_err(dwc2,
- "Controller does not support host mode.\n");
- return -EINVAL;
+ if (!IS_ENABLED(CONFIG_USB_DWC2_GADGET)) {
+ dwc2_err(dwc2, "gadget mode support not compiled in!\n");
+ return -ENOTSUPP;
}
mode = USB_DR_MODE_PERIPHERAL;
} else if (dwc2_hw_is_host(dwc2)) {
dwc2_dbg(dwc2, "Controller is host only\n");
- if (IS_ENABLED(CONFIG_USB_DWC2_GADGET)) {
- dwc2_err(dwc2,
- "Controller does not support device mode.\n");
- return -EINVAL;
+ if (!IS_ENABLED(CONFIG_USB_DWC2_HOST)) {
+ dwc2_err(dwc2, "host mode support not compiled in!\n");
+ return -ENOTSUPP;
}
mode = USB_DR_MODE_HOST;
} else {
diff --git a/drivers/usb/dwc2/dwc2.c b/drivers/usb/dwc2/dwc2.c
index 059e7d0e16..d04552fc55 100644
--- a/drivers/usb/dwc2/dwc2.c
+++ b/drivers/usb/dwc2/dwc2.c
@@ -79,6 +79,8 @@ static int dwc2_probe(struct device_d *dev)
dwc2_get_hwparams(dwc2);
ret = dwc2_get_dr_mode(dwc2);
+ if (ret)
+ goto error;
dwc2_set_default_params(dwc2);