summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-03-23 16:09:28 +0100
committerDavid S. Miller <davem@davemloft.net>2014-03-26 02:06:02 +0100
commitaff12acccbb1d61c9a6cfeb5cdd3d083fb5e40ef (patch)
tree010f3f9ffe80a8da4d38dc4fcd2621de7ec113b5
parentmlx4: Use actual number of PCI functions (PF + VFs) for alias GUID logic (diff)
downloadlinux-aff12acccbb1d61c9a6cfeb5cdd3d083fb5e40ef.tar.xz
linux-aff12acccbb1d61c9a6cfeb5cdd3d083fb5e40ef.zip
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>
-rw-r--r--drivers/atm/firestream.c2
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)
fs_dprintk (FS_DEBUG_CLEANUP, "Freeing irq%d.\n", dev->irq);
free_irq (dev->irq, dev);
- del_timer (&dev->timer);
+ del_timer_sync (&dev->timer);
atm_dev_deregister(dev->atm_dev);
free_queue (dev, &dev->hp_txq);