diff options
author | Maciej Sosnowski <maciej.sosnowski@intel.com> | 2009-02-26 05:05:07 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-03-04 18:04:40 -0500 |
commit | 2b8a6bf896ef47cc7d84c503079cc7b99789f9fa (patch) | |
tree | 2c742bd8b7343d0e57abc7b11fce62d914886228 /drivers/dma/ioat_dma.c | |
parent | 8b794b141c633083408d0bfb2229b3406d0ebf99 (diff) |
I/OAT: cancel watchdog before dma remove
Channel watchdog should be canceled before the rest of dma remove stuff.
Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/ioat_dma.c')
-rw-r--r-- | drivers/dma/ioat_dma.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c index 9012da7908f5..fc9b845ee893 100644 --- a/drivers/dma/ioat_dma.c +++ b/drivers/dma/ioat_dma.c | |||
@@ -1705,6 +1705,9 @@ void ioat_dma_remove(struct ioatdma_device *device) | |||
1705 | struct dma_chan *chan, *_chan; | 1705 | struct dma_chan *chan, *_chan; |
1706 | struct ioat_dma_chan *ioat_chan; | 1706 | struct ioat_dma_chan *ioat_chan; |
1707 | 1707 | ||
1708 | if (device->version != IOAT_VER_3_0) | ||
1709 | cancel_delayed_work(&device->work); | ||
1710 | |||
1708 | ioat_dma_remove_interrupts(device); | 1711 | ioat_dma_remove_interrupts(device); |
1709 | 1712 | ||
1710 | dma_async_device_unregister(&device->common); | 1713 | dma_async_device_unregister(&device->common); |
@@ -1716,10 +1719,6 @@ void ioat_dma_remove(struct ioatdma_device *device) | |||
1716 | pci_release_regions(device->pdev); | 1719 | pci_release_regions(device->pdev); |
1717 | pci_disable_device(device->pdev); | 1720 | pci_disable_device(device->pdev); |
1718 | 1721 | ||
1719 | if (device->version != IOAT_VER_3_0) { | ||
1720 | cancel_delayed_work(&device->work); | ||
1721 | } | ||
1722 | |||
1723 | list_for_each_entry_safe(chan, _chan, | 1722 | list_for_each_entry_safe(chan, _chan, |
1724 | &device->common.channels, device_node) { | 1723 | &device->common.channels, device_node) { |
1725 | ioat_chan = to_ioat_chan(chan); | 1724 | ioat_chan = to_ioat_chan(chan); |