linux-yocto/drivers/usb
Andrei Kuchynski c782f98eef usb: typec: displayport: Fix potential deadlock
commit 099cf1fbb8 upstream.

The deadlock can occur due to a recursive lock acquisition of
`cros_typec_altmode_data::mutex`.
The call chain is as follows:
1. cros_typec_altmode_work() acquires the mutex
2. typec_altmode_vdm() -> dp_altmode_vdm() ->
3. typec_altmode_exit() -> cros_typec_altmode_exit()
4. cros_typec_altmode_exit() attempts to acquire the mutex again

To prevent this, defer the `typec_altmode_exit()` call by scheduling
it rather than calling it directly from within the mutex-protected
context.

Cc: stable <stable@kernel.org>
Fixes: b4b38ffb38 ("usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode")
Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20250624133246.3936737-1-akuchynski@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-10 16:05:13 +02:00
..
atm
c67x00
cdns3 usb: cdnsp: Fix issue with CV Bad Descriptor test 2025-07-10 16:05:11 +02:00
chipidea usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume 2025-07-10 16:05:11 +02:00
class usb: cdc-wdm: avoid setting WDM_READ for ZLP-s 2025-07-06 11:01:35 +02:00
common usb: common: usb-conn-gpio: use a unique name for usb connector device 2025-07-06 11:01:35 +02:00
core Logitech C-270 even more broken 2025-07-10 16:05:12 +02:00
dwc2 usb: dwc2: also exit clock_gating when stopping udc while suspended 2025-07-06 11:01:34 +02:00
dwc3 usb: dwc3: Abort suspend on soft disconnect failure 2025-07-10 16:05:11 +02:00
early
fotg210
gadget usb: gadget: f_hid: wake up readers on disable/unbind 2025-07-06 11:01:35 +02:00
host xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS 2025-07-10 16:05:10 +02:00
image
isp1760
misc usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n 2025-06-19 15:32:37 +02:00
mon
mtu3
musb
phy
renesas_usbhs usb: renesas_usbhs: Reorder clock handling and power management in probe 2025-06-19 15:32:11 +02:00
roles
serial USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB 2025-06-10 07:12:59 -04:00
storage usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device 2025-06-10 07:12:59 -04:00
typec usb: typec: displayport: Fix potential deadlock 2025-07-10 16:05:13 +02:00
usbip
Kconfig
Makefile
usb-skeleton.c