linux_dsm_epyc7002/drivers/usb/dwc2
Douglas Anderson 4a065c7bdb usb: dwc2: host: Add missing spinlock in dwc2_hcd_reset_func()
The dwc2_hcd_reset_func() function is only ever called directly by a
delayed work function.  As such no locks are already held when the
function is called.

Doing a read-modify-write of CPU registers and setting fields in the
main hsotg data structure is a bad idea without locks.  Let's add
locks.

The bug was found by code inspection only.  It turns out that the
dwc2_hcd_reset_func() is only ever called today if the
"host_support_fs_ls_low_power" parameter is enabled and no code in
mainline enables that parameter.  Thus no known issues in mainline are
fixed by this patch, but it's still probably wise to fix the function.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-12-15 09:12:41 -06:00
..
core_intr.c usb: dwc2: host: Fix missing device insertions 2015-12-15 09:12:41 -06:00
core.c usb: dwc2: host: Support immediate retries for split transactions 2015-12-15 09:12:41 -06:00
core.h usb: dwc2: host: Fix missing device insertions 2015-12-15 09:12:41 -06:00
debug.h
debugfs.c usb: dwc2: Use platform endianness when accessing registers 2015-09-27 10:54:31 -05:00
gadget.c usb: dwc2: refactor common low-level hw code to platform.c 2015-10-14 08:40:15 -05:00
hcd_ddma.c usb: dwc2: host: use kmem cache to allocate descriptors 2015-12-15 09:12:41 -06:00
hcd_intr.c usb: dwc2: host: Fix missing device insertions 2015-12-15 09:12:41 -06:00
hcd_queue.c usb: dwc2: host: enable descriptor dma for fs devices 2015-12-15 09:12:41 -06:00
hcd.c usb: dwc2: host: Add missing spinlock in dwc2_hcd_reset_func() 2015-12-15 09:12:41 -06:00
hcd.h usb: dwc2: host: avoid usage of dma_alloc_coherent with irqs disabled 2015-12-15 09:12:41 -06:00
hw.h usb: dwc2: host: fix descriptor list address masking 2015-12-15 09:12:41 -06:00
Kconfig
Makefile
pci.c
platform.c usb: dwc2: add support of hi6220 2015-12-15 09:12:41 -06:00