summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2013-04-16 01:30:38 (GMT)
committerDavid S. Miller <davem@davemloft.net>2013-04-16 20:43:34 (GMT)
commit1e0a8b13d35510e711fdf72e9a3e30bcb2bd49fa (patch)
treead726d12a8373be45e168bbccfb75c086b643d11
parentd5d427cdaeae33752fbd5c674cc52a8f8e65a550 (diff)
downloadlinux-fsl-qoriq-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>
-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 bdda36f..60c400f 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)