Explorar o código

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>
Devendra Naga %!s(int64=12) %!d(string=hai) anos
pai
achega
1e0a8b13d3
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      drivers/net/ethernet/ti/tlan.c

+ 1 - 0
drivers/net/ethernet/ti/tlan.c

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