提交 aff12acc 编写于 作者: T Thomas Gleixner 提交者: David S. Miller

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: NThomas 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: NDavid S. Miller <davem@davemloft.net>
上级 e471b403
...@@ -2000,7 +2000,7 @@ static void firestream_remove_one(struct pci_dev *pdev) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册