Hi Ronald, > The following race condition still existed: > > P1 P2 > cancel_work_sync() > hci_uart_tx_wakeup() > hci_uart_write_work() > hci_uart_dequeue() > clear_bit(HCI_UART_PROTO_READY) > hci_unregister_dev(hdev) > hci_free_dev(hdev) > hu->proto->close(hu) > kfree(hu) > access to hdev and hu > > Cancelling the work after clearing the HCI_UART_PROTO_READY bit avoids > this as any hci_uart_tx_wakeup() issued after the flag is cleared will > detect that and not schedule further work. > > Signed-off-by: Ronald Tschalär <ronald@xxxxxxxxxxxxx> > Cc: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> > Cc: Lukas Wunner <lukas@xxxxxxxxx> > Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> > Cc: Gustavo Padovan <gustavo@xxxxxxxxxxx> > Cc: Johan Hedberg <johan.hedberg@xxxxxxxxx> > --- > drivers/bluetooth/hci_ldisc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html