Message ID | 20220405100200.64f56e50@gandalf.local.home |
---|---|
State | Accepted |
Commit | 373ae6de43614d4c00ff7ded839cf1b36ed5abca |
Headers | show |
Series | [v2] Bluetooth: hci_qca: Use del_timer_sync() before freeing | expand |
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Marcel Holtmann <marcel@holtmann.org>: On Tue, 5 Apr 2022 10:02:00 -0400 you wrote: > From: Steven Rostedt <rostedt@goodmis.org> > > While looking at a crash report on a timer list being corrupted, which > usually happens when a timer is freed while still active. This is > commonly triggered by code calling del_timer() instead of > del_timer_sync() just before freeing. > > [...] Here is the summary with links: - [v2] Bluetooth: hci_qca: Use del_timer_sync() before freeing https://git.kernel.org/bluetooth/bluetooth-next/c/373ae6de4361 You are awesome, thank you!
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index f6e91fb432a3..eab34e24d944 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -696,9 +696,9 @@ static int qca_close(struct hci_uart *hu) skb_queue_purge(&qca->tx_wait_q); skb_queue_purge(&qca->txq); skb_queue_purge(&qca->rx_memdump_q); - del_timer(&qca->tx_idle_timer); - del_timer(&qca->wake_retrans_timer); destroy_workqueue(qca->workqueue); + del_timer_sync(&qca->tx_idle_timer); + del_timer_sync(&qca->wake_retrans_timer); qca->hu = NULL; kfree_skb(qca->rx_skb);