linux/drivers/usb/dwc3
Enric Balletbo i Serra dc1b5d9aed usb: dwc3: Fix core validation in probe, move after clocks are enabled
The required clocks needs to be enabled before the first register
access. After commit fe8abf332b ("usb: dwc3: support clocks and resets
for DWC3 core"), this happens when the dwc3_core_is_valid function is
called, but the mentioned commit adds that call in the wrong place,
before the clocks are enabled. So, move that call after the
clk_bulk_enable() to ensure the clocks are enabled and the reset
deasserted.

I detected this while, as experiment, I tried to move the clocks and resets
from the glue layer to the DWC3 core on a Samsung Chromebook Plus.

That was not detected before because, in most cases, the glue layer
initializes SoC-specific things and then populates the child "snps,dwc3"
with those clocks already enabled.

Fixes: b873e2d0ea ("usb: dwc3: Do core validation early on probe")
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2019-06-18 11:58:29 +03:00
..
core.c usb: dwc3: Fix core validation in probe, move after clocks are enabled 2019-06-18 11:58:29 +03:00
core.h usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA 2019-05-03 09:13:49 +03:00
debug.h usb: dwc3: debug: Print GET_STATUS(device) tracepoint 2019-05-03 09:13:49 +03:00
debugfs.c usb: dwc3: debugfs: Print/set link state for peripheral mode 2018-11-26 09:06:31 +02:00
drd.c usb: dwc3: drd: Defer probe if extcon device is not found 2019-02-19 15:08:07 +01:00
dwc3-exynos.c usb: dwc3: exynos: Fix error handling of clk_prepare_enable 2019-01-28 15:31:11 +02:00
dwc3-haps.c usb: dwc3: haps: Workaround matching VID PID 2019-02-07 13:17:19 +02:00
dwc3-keystone.c usb: dwc3: keystone: Add support for ti,am654-dwc3 2019-01-28 12:51:29 +02:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: Add support for IRQ based OTG switching 2019-06-18 11:58:28 +03:00
dwc3-of-simple.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
dwc3-omap.c usb: dwc3: omap: don't miss events during suspend/resume 2018-02-12 10:53:18 +02:00
dwc3-pci.c usb: dwc3: pci: add support for Comet Lake PCH ID 2019-03-20 08:46:03 +02:00
dwc3-qcom.c usb: dwc3: qcom: Improve error handling 2019-06-18 11:58:29 +03:00
dwc3-st.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
ep0.c usb: dwc3: gadget: remove redundant variable maxpacket 2018-07-13 15:41:56 +02:00
gadget.c usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA 2019-05-03 09:13:49 +03:00
gadget.h usb: dwc3: gadget: remove req->started flag 2019-01-28 12:53:15 +02:00
host.c usb: dwc3: Support option to disable USB2 LPM 2018-11-26 09:06:31 +02:00
io.h USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
Kconfig usb: dwc3: qcom: Add support for booting with ACPI 2019-06-18 11:58:29 +03:00
Makefile usb: dwc3: Add Amlogic G12A DWC3 glue 2019-05-03 09:13:47 +03:00
trace.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
trace.h usb: dwc3: trace: pass trace buffer size to decoding functions 2019-02-04 15:43:38 +02:00
ulpi.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00