diff options
author | Jules Maselbas <jmaselbas@kalray.eu> | 2020-12-10 11:31:03 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-12-16 09:20:27 +0100 |
commit | 495f663e1fad8dc69a66f09bbfe12aef9883beae (patch) | |
tree | dbb637385b869f58569b04ee77984c449e1156c9 /drivers | |
parent | 392ca0d6ea31dbdde85bf723670d319b02643139 (diff) | |
download | barebox-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.c | 14 | ||||
-rw-r--r-- | drivers/usb/dwc2/dwc2.c | 2 |
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); |