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 <mark.einon@xxxxxxxxx> Signed-off-by: Devendra Naga <devendra.aaru@xxxxxxxxx> --- 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel