diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2023-07-25 09:04:43 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2023-08-01 17:49:00 +0300 |
commit | c1861ff1d63d0a185df6e2f0ec21455467aeb16c (patch) | |
tree | 36a4e03c4fefcf01dff066074ff0594c1795d10c /drivers/net/wireless/marvell | |
parent | e7899a90cebec045ce88505d496d8453174044c2 (diff) | |
download | linux-c1861ff1d63d0a185df6e2f0ec21455467aeb16c.tar.xz |
wifi: libertas: add missing calls to cancel_work_sync()
Add missing 'cancel_work_sync()' in 'if_sdio_remove()'
and on error handling path in 'if_sdio_probe()'.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Tested-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230725060531.72968-1-dmantipov@yandex.ru
Diffstat (limited to 'drivers/net/wireless/marvell')
-rw-r--r-- | drivers/net/wireless/marvell/libertas/if_sdio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/libertas/if_sdio.c b/drivers/net/wireless/marvell/libertas/if_sdio.c index a63c5e622ee3..a35b33e84670 100644 --- a/drivers/net/wireless/marvell/libertas/if_sdio.c +++ b/drivers/net/wireless/marvell/libertas/if_sdio.c @@ -1233,6 +1233,7 @@ err_activate_card: flush_workqueue(card->workqueue); lbs_remove_card(priv); free: + cancel_work_sync(&card->packet_worker); destroy_workqueue(card->workqueue); err_queue: while (card->packets) { @@ -1277,6 +1278,7 @@ static void if_sdio_remove(struct sdio_func *func) lbs_stop_card(card->priv); lbs_remove_card(card->priv); + cancel_work_sync(&card->packet_worker); destroy_workqueue(card->workqueue); while (card->packets) { |