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>
This commit is contained in:
parent
e471b40321
commit
aff12acccb
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user