浏览代码

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>
Thomas Gleixner 11 年之前
父节点
当前提交
aff12acccb
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/atm/firestream.c

+ 1 - 1
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);
 		fs_dprintk (FS_DEBUG_CLEANUP, "Freeing irq%d.\n", dev->irq);
 		free_irq (dev->irq, dev);
 		free_irq (dev->irq, dev);
-		del_timer (&dev->timer);
+		del_timer_sync (&dev->timer);
 
 
 		atm_dev_deregister(dev->atm_dev);
 		atm_dev_deregister(dev->atm_dev);
 		free_queue (dev, &dev->hp_txq);
 		free_queue (dev, &dev->hp_txq);