linux-yocto/drivers/usb
Andrei Kuchynski 63cff9f57e 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:03:20 +02:00
..
atm usb: atm: cxacru: fix a flaw in existing endpoint checks 2025-03-13 12:58:34 +01:00
c67x00
cdns3 usb: cdnsp: do not disable slot for disabled slot 2025-07-10 16:03:19 +02:00
chipidea usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume 2025-07-10 16:03:19 +02:00
class usb: cdc-wdm: avoid setting WDM_READ for ZLP-s 2025-07-06 11:00:08 +02:00
common usb: common: usb-conn-gpio: use a unique name for usb connector device 2025-07-06 11:00:08 +02:00
core Logitech C-270 even more broken 2025-07-10 16:03:20 +02:00
dwc2 usb: dwc2: also exit clock_gating when stopping udc while suspended 2025-07-06 11:00:07 +02:00
dwc3 usb: dwc3: gadget: Avoid using reserved endpoints on Intel Merrifield 2025-05-02 07:50:54 +02:00
early
fotg210
gadget usb: potential integer overflow in usbg_make_tpg() 2025-07-06 11:00:07 +02:00
host xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS 2025-07-10 16:03:18 +02:00
image
isp1760
misc
mon
mtu3
musb
phy usb: phy: generic: Use proper helper for property detection 2025-03-22 12:50:41 -07:00
renesas_usbhs usb: renesas_usbhs: Reorder clock handling and power management in probe 2025-06-19 15:28:30 +02:00
roles
serial USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB 2025-06-19 15:28:00 +02:00
storage usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device 2025-06-19 15:28:00 +02:00
typec usb: typec: displayport: Fix potential deadlock 2025-07-10 16:03:20 +02:00
usbip
Kconfig
Makefile
usb-skeleton.c