Bluetooth: btusb: Do not call kfree_skb() under spin_lock_irqsave()
[ Upstream commit 2a05334d7f91ff189692089c05fc48cc1d8204de ]
It is not allowed to call kfree_skb() from hardware interrupt
context or with hardware interrupts being disabled.
So replace kfree_skb() with dev_kfree_skb_irq() under
spin_lock_irqsave(). Compile tested only.
Fixes: baac6276c0
("Bluetooth: btusb: handle mSBC audio over USB Endpoints")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
bef85d58f7
commit
50f89daf9e
@@ -1689,7 +1689,7 @@ static int btusb_switch_alt_setting(struct hci_dev *hdev, int new_alts)
|
|||||||
* alternate setting.
|
* alternate setting.
|
||||||
*/
|
*/
|
||||||
spin_lock_irqsave(&data->rxlock, flags);
|
spin_lock_irqsave(&data->rxlock, flags);
|
||||||
kfree_skb(data->sco_skb);
|
dev_kfree_skb_irq(data->sco_skb);
|
||||||
data->sco_skb = NULL;
|
data->sco_skb = NULL;
|
||||||
spin_unlock_irqrestore(&data->rxlock, flags);
|
spin_unlock_irqrestore(&data->rxlock, flags);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user