linux/drivers/usb
Jill Donahue 24a942610e USB: gadget: f_midi: f_midi_complete to call queue_work
[ Upstream commit 4ab37fcb42 ]

When using USB MIDI, a lock is attempted to be acquired twice through a
re-entrant call to f_midi_transmit, causing a deadlock.

Fix it by using queue_work() to schedule the inner f_midi_transmit() via
a high priority work queue from the completion handler.

Link: https://lore.kernel.org/all/CAArt=LjxU0fUZOj06X+5tkeGT+6RbXzpWg1h4t4Fwa_KGVAX6g@mail.gmail.com/
Fixes: d5daf49b58 ("USB: gadget: midi: add midi function driver")
Cc: stable <stable@kernel.org>
Signed-off-by: Jill Donahue <jilliandonahue58@gmail.com>
Link: https://lore.kernel.org/r/20250211174805.1369265-1-jdonahue@fender.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-03-07 16:56:33 +01:00
..
atm usb: atm: cxacru: fix endpoint checking in cxacru_bind() 2024-07-05 09:31:55 +02:00
c67x00 USB: c67x00: remove unnecessary check of res 2022-05-12 11:36:46 +02:00
cdns3 usb: cdns3: Add quirk flag to enable suspend residency 2024-12-27 13:52:51 +01:00
chipidea usb: chipidea: ci_hdrc_imx: decrement device's refcount in .remove() and in the error path of .probe() 2025-02-21 13:49:35 +01:00
class usb: cdc-acm: Fix handling of oversized fragments 2025-02-21 13:50:03 +01:00
common usb: ulpi: Fix debugfs directory leak 2024-02-23 09:12:34 +01:00
core USB: hub: Ignore non-compliant devices with too many configs or interfaces 2025-02-21 13:50:02 +01:00
dwc2 usb: dwc2: gadget: remove of_node reference upon udc_stop 2025-02-21 13:50:02 +01:00
dwc3 usb: dwc3: Fix timeout issue during controller enter/exit from halt state 2025-02-21 13:50:01 +01:00
early usb: early: xhci-dbc: Fix a potential out-of-bound memory access 2023-03-10 09:33:35 +01:00
gadget USB: gadget: f_midi: f_midi_complete to call queue_work 2025-03-07 16:56:33 +01:00
host USB: pci-quirks: Fix HCCPARAMS register error for LS7A EHCI 2025-02-21 13:50:02 +01:00
image usb/image: fix repeated words in comments 2022-07-27 14:33:53 +02:00
isp1760 usb: isp1760: Fix out-of-bounds array access 2022-05-19 18:10:59 +02:00
misc USB: chaoskey: Fix possible deadlock chaoskey_list_lock 2024-12-14 19:53:53 +01:00
mon usb: mon: Fix atomicity violation in mon_bin_vma_fault 2024-01-25 15:27:40 -08:00
mtu3 usb: mtu3: fix kernel panic at qmu transfer done irq handler 2023-05-11 23:03:30 +09:00
musb usb: musb: Fix hardware lockup on first Rx endpoint request 2024-12-14 19:54:05 +01:00
phy usb: phy: Fix API devm_usb_put_phy() can not release the phy 2024-11-08 16:26:44 +01:00
renesas_usbhs usb: renesas: Fix refcount leak bug 2022-06-21 16:39:03 +02:00
roles usb: roles: set switch registered flag early on 2025-02-21 13:50:01 +01:00
serial USB: serial: option: drop MeiG Smart defines 2025-02-21 13:50:03 +01:00
storage usb-storage: Add max sectors quirk for Nokia 208 2025-01-17 13:34:44 +01:00
typec usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS 2025-02-21 13:49:27 +01:00
usbip usbip: Don't submit special requests twice 2024-09-08 07:53:10 +02:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-21 14:35:43 +02:00
usb-skeleton.c usb: usb-skeleton: Update min() to min_t() 2021-10-05 12:56:48 +02:00