From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This makes use of disable_delayed_work_sync instead cancel_delayed_work_sync as it not only cancels the ongoing work but also disables new submissions which is disarable since the object holding the work is about to be freed. In addition to it remove call to iso_sock_set_timer on iso_sock_disconn since at that point it is useless to set a timer as the sk will be freed there is nothing to be done in iso_sock_timeout. Fixes: ccf74f2390d6 ("Bluetooth: Add BTPROTO_ISO socket type") Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> --- net/bluetooth/iso.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c index d5e00d0dd1a0..8908cf093032 100644 --- a/net/bluetooth/iso.c +++ b/net/bluetooth/iso.c @@ -223,7 +223,7 @@ static void iso_conn_del(struct hci_conn *hcon, int err) } /* Ensure no more work items will run before freeing conn. */ - cancel_delayed_work_sync(&conn->timeout_work); + disable_delayed_work_sync(&conn->timeout_work); hcon->iso_data = NULL; kfree(conn); -- 2.46.1