Re: [PATCH] Bluetooth: hci_core: Fix queuing rx_work while workqueue is drained
From: patchwork-bot+bluetooth
Date: Fri Oct 23 2026 - 17:04:31 EST
Hello:
This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>:
On Fri, 23 Oct 2026 21:46:09 +0530 you wrote:
> hci_recv_frame() drops a frame unless HCI_UP or HCI_INIT is set, but the
> check is not synchronized with hci_dev_close_sync(). A driver can pass
> the check, then close clears HCI_UP, flushes rx_work and starts
> drain_workqueue(), and the late queue_work() of rx_work hits the
> draining workqueue:
>
> workqueue: cannot queue hci_rx_work on wq hci0
> WARNING: kernel/workqueue.c:2352 at __queue_work+0x2c0/0x780
> Call Trace:
> queue_work_on+0xb2/0xc0
> hci_recv_frame+0x18f/0x330
> vhci_write+0x174/0x240
> vfs_write+0x271/0x680
> ksys_write+0x7c/0x110
>
> [...]
Here is the summary with links:
- Bluetooth: hci_core: Fix queuing rx_work while workqueue is drained
https://git.kernel.org/bluetooth/bluetooth-next/c/63bcf9f4a40d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html