aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/fpga/altera-fpga2sdram.c
diff options
context:
space:
mode:
authorAndrei Kuchynski <[email protected]>2025-06-24 13:32:46 +0000
committerGreg Kroah-Hartman <[email protected]>2025-06-24 14:43:15 +0000
commit099cf1fbb8afc3771f408109f62bdec66f85160e (patch)
tree7a035e1348c2c2ffa969229da726fc7decc81f88 /drivers/fpga/altera-fpga2sdram.c
parentusb: typec: altmodes/displayport: do not index invalid pin_assignments (diff)
downloadkernel-099cf1fbb8afc3771f408109f62bdec66f85160e.tar.gz
kernel-099cf1fbb8afc3771f408109f62bdec66f85160e.zip
usb: typec: displayport: Fix potential deadlock
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 <[email protected]> Fixes: b4b38ffb38c9 ("usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode") Signed-off-by: Andrei Kuchynski <[email protected]> Reviewed-by: Heikki Krogerus <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/fpga/altera-fpga2sdram.c')
0 files changed, 0 insertions, 0 deletions