tlan: cancel work at remove path
authorDevendra Naga <devendra.aaru@gmail.com>
Tue, 16 Apr 2013 01:30:38 +0000 (01:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Apr 2013 20:43:34 +0000 (16:43 -0400)
the work has been scheduled from interrupt, and not been
cancelled when the driver is unloaded, which doesn't remove
the work item from the global workqueue. call the
cancel_work_sync when the driver is removed (rmmod'ed).

Cc: Sriram <srk@ti.com>
Cc: Cyril Chemparathy <cyril@ti.com>
Cc: Vinay Hegde <vinay.hegde@ti.com>
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/tlan.c

index bdda36f8e54167d9c50633555a517658842af4e3..60c400f6d01ff540b6a2e132c3520972336adb1a 100644 (file)
@@ -320,6 +320,7 @@ static void tlan_remove_one(struct pci_dev *pdev)
        free_netdev(dev);
 
        pci_set_drvdata(pdev, NULL);
+       cancel_work_sync(&priv->tlan_tqueue);
 }
 
 static void tlan_start(struct net_device *dev)