On Tue, 2023-07-25 at 09:04 +0300, Dmitry Antipov wrote: > Add missing 'cancel_work_sync()' in 'if_sdio_remove()' > and on error handling path in 'if_sdio_probe()'. > > Signed-off-by: Dmitry Antipov <dmantipov@xxxxxxxxx> For the v2 series: Tested-by: Dan Williams <dcbw@xxxxxxxxxx> > --- > drivers/net/wireless/marvell/libertas/if_sdio.c | 2 ++ > 1 file changed, 2 insertions(+) > > 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 @@ static int if_sdio_probe(struct sdio_func > *func, > 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) {