the work item has been added to the queue using INIT_WORK and scheduled in
interrupt handler. when module unloads that work item has not been
removed from the queue. remove and stop its further execution when
the module unloaded

cc: Mark Einon <[email protected]>
Signed-off-by: Devendra Naga <[email protected]>
---
 drivers/staging/et131x/et131x.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/et131x/et131x.c b/drivers/staging/et131x/et131x.c
index c7e9e1d..f73e58f 100644
--- a/drivers/staging/et131x/et131x.c
+++ b/drivers/staging/et131x/et131x.c
@@ -3953,6 +3953,7 @@ static void et131x_pci_remove(struct pci_dev *pdev)
        unregister_netdev(netdev);
        phy_disconnect(adapter->phydev);
        mdiobus_unregister(adapter->mii_bus);
+       cancel_work_sync(&adapter->task);
        kfree(adapter->mii_bus->irq);
        mdiobus_free(adapter->mii_bus);
 
-- 
1.8.1.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to