OSDN Git Service

ocelot: Cancel delayed work before wq destruction
authorClaudiu Manoil <claudiu.manoil@nxp.com>
Thu, 25 Jul 2019 13:33:18 +0000 (16:33 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jul 2019 21:11:30 +0000 (14:11 -0700)
Make sure the delayed work for stats update is not pending before
wq destruction.
This fixes the module unload path.
The issue is there since day 1.

Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")

Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot.c

index b71e4ec..6932e61 100644 (file)
@@ -1818,6 +1818,7 @@ EXPORT_SYMBOL(ocelot_init);
 
 void ocelot_deinit(struct ocelot *ocelot)
 {
+       cancel_delayed_work(&ocelot->stats_work);
        destroy_workqueue(ocelot->stats_queue);
        mutex_destroy(&ocelot->stats_lock);
        ocelot_ace_deinit();