summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/ti/tlan.c
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2013-04-16 05:30:38 +0400
committerDavid S. Miller <davem@davemloft.net>2013-04-17 00:43:34 +0400
commit1e0a8b13d35510e711fdf72e9a3e30bcb2bd49fa (patch)
treead726d12a8373be45e168bbccfb75c086b643d11 /drivers/net/ethernet/ti/tlan.c
parentd5d427cdaeae33752fbd5c674cc52a8f8e65a550 (diff)
downloadlinux-1e0a8b13d35510e711fdf72e9a3e30bcb2bd49fa.tar.xz
tlan: cancel work at remove path
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>
Diffstat (limited to 'drivers/net/ethernet/ti/tlan.c')
-rw-r--r--drivers/net/ethernet/ti/tlan.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/tlan.c b/drivers/net/ethernet/ti/tlan.c
index bdda36f8e541..60c400f6d01f 100644
--- a/drivers/net/ethernet/ti/tlan.c
+++ b/drivers/net/ethernet/ti/tlan.c
@@ -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)