diff options
| author | Oliver Neukum <oneukum@suse.com> | 2025-04-01 10:45:40 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-05-02 07:44:33 +0200 |
| commit | 6261b99ef0ed18836ce118bdbf91991e0d2462ed (patch) | |
| tree | 1e0e685b6cf8bb5fda2feebc393c98f92fb6330e /drivers/usb/class | |
| parent | b02a3fef3e8c8fe5a0a266f7a14f38cc608fb167 (diff) | |
| download | linux-6261b99ef0ed18836ce118bdbf91991e0d2462ed.tar.gz linux-6261b99ef0ed18836ce118bdbf91991e0d2462ed.tar.bz2 linux-6261b99ef0ed18836ce118bdbf91991e0d2462ed.zip | |
USB: wdm: wdm_wwan_port_tx_complete mutex in atomic context
commit 1fdc4dca350c0b8ada0b8ebf212504e1ad55e511 upstream.
wdm_wwan_port_tx_complete is called from a completion
handler with irqs disabled and possible in IRQ context
usb_autopm_put_interface can take a mutex.
Hence usb_autopm_put_interface_async must be used.
Fixes: cac6fb015f71 ("usb: class: cdc-wdm: WWAN framework integration")
Cc: stable <stable@kernel.org>
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Link: https://lore.kernel.org/r/20250401084749.175246-4-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/class')
| -rw-r--r-- | drivers/usb/class/cdc-wdm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index a90986c3fa61..481017d1ff3e 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c @@ -879,7 +879,7 @@ static void wdm_wwan_port_tx_complete(struct urb *urb) struct sk_buff *skb = urb->context; struct wdm_device *desc = skb_shinfo(skb)->destructor_arg; - usb_autopm_put_interface(desc->intf); + usb_autopm_put_interface_async(desc->intf); wwan_port_txon(desc->wwanp); kfree_skb(skb); } |
