diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2014-03-23 11:09:28 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-25 21:06:02 -0400 |
commit | aff12acccbb1d61c9a6cfeb5cdd3d083fb5e40ef (patch) | |
tree | 010f3f9ffe80a8da4d38dc4fcd2621de7ec113b5 /drivers/atm/firestream.c | |
parent | e471b40321a94f07d13b8a9e4b064885cf08835d (diff) |
atm: firestream: Use del_timer_sync() in teardown path
The device is about to vanish. So we need to make sure that the timer
is completely stopped and the callback is not running on another CPU.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Cc: atm <linux-atm-general@lists.sourceforge.net>
Cc: netdev <netdev@vger.kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm/firestream.c')
-rw-r--r-- | drivers/atm/firestream.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c index f43e1c13b300..82f2ae0d7cc4 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c | |||
@@ -2000,7 +2000,7 @@ static void firestream_remove_one(struct pci_dev *pdev) | |||
2000 | 2000 | ||
2001 | fs_dprintk (FS_DEBUG_CLEANUP, "Freeing irq%d.\n", dev->irq); | 2001 | fs_dprintk (FS_DEBUG_CLEANUP, "Freeing irq%d.\n", dev->irq); |
2002 | free_irq (dev->irq, dev); | 2002 | free_irq (dev->irq, dev); |
2003 | del_timer (&dev->timer); | 2003 | del_timer_sync (&dev->timer); |
2004 | 2004 | ||
2005 | atm_dev_deregister(dev->atm_dev); | 2005 | atm_dev_deregister(dev->atm_dev); |
2006 | free_queue (dev, &dev->hp_txq); | 2006 | free_queue (dev, &dev->hp_txq); |