Make sure no timer callback is running before freeing the
datastructure which contains it.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Marcel Holtmann <[email protected]>
Cc: bt <[email protected]>
---
 drivers/bluetooth/hci_bcsp.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: tip/drivers/bluetooth/hci_bcsp.c
===================================================================
--- tip.orig/drivers/bluetooth/hci_bcsp.c
+++ tip/drivers/bluetooth/hci_bcsp.c
@@ -722,7 +722,7 @@ static int bcsp_close(struct hci_uart *h
        skb_queue_purge(&bcsp->unack);
        skb_queue_purge(&bcsp->rel);
        skb_queue_purge(&bcsp->unrel);
-       del_timer(&bcsp->tbcsp);
+       del_timer_sync(&bcsp->tbcsp);
 
        kfree(bcsp);
        return 0;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to