kernel_samsung_a53x/drivers/usb
Sergey Shtylyov 16dde81396 usb: host: xhci-plat: fix possible kernel oops while resuming
[ Upstream commit a5f928db59519a15e82ecba4ae3e7cbf5a44715a ]

If this driver enables the xHC clocks while resuming from sleep, it calls
clk_prepare_enable() without checking for errors and blithely goes on to
read/write the xHC's registers -- which, with the xHC not being clocked,
at least on ARM32 usually causes an imprecise external abort exceptions
which cause kernel oops.  Currently, the chips for which the driver does
the clock dance on suspend/resume seem to be the Broadcom STB SoCs, based
on ARM32 CPUs, as it seems...

Found by Linux Verification Center (linuxtesting.org) with the Svace static
analysis tool.

Fixes: 8bd954c56197 ("usb: host: xhci-plat: suspend and resume clocks")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20231019102924.2797346-19-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 11:43:06 +01:00
..
atm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
c67x00 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cdns3 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
chipidea Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
class Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
common Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core usb: core: Track SuperSpeed Plus GenXxY 2024-11-08 11:26:12 +01:00
dwc2 usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency 2024-11-18 11:43:05 +01:00
dwc3 Fix clang 16 errors treewide 2024-06-15 16:28:48 -03:00
early Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gadget usb: raw-gadget: properly handle interrupted requests 2024-11-18 10:58:48 +01:00
host usb: host: xhci-plat: fix possible kernel oops while resuming 2024-11-18 11:43:06 +01:00
image Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isp1760 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
misc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mtu3 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
musb usb: musb: Modify the "HWVers" register address 2024-11-08 11:25:49 +01:00
notify Import A536BXXSAEXE1 2024-06-15 16:07:28 -03:00
notify_lsi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
phy Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_usbhs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
roles Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
serial USB: serial: option: add Fibocom to DELL custom modem FM101R-GL 2024-11-08 11:26:19 +01:00
storage usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility 2024-11-18 10:58:47 +01:00
typec usb: typec: altmodes/displayport: Signal hpd low when exiting mode 2024-11-08 11:26:15 +01:00
usbip USB: usbip: fix stub_dev hub disconnect 2024-11-18 11:43:05 +01:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig.variant1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile.variant1 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usb-skeleton.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00