aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorMaciej Sosnowski <maciej.sosnowski@intel.com>2009-02-26 05:05:07 -0500
committerDan Williams <dan.j.williams@intel.com>2009-03-04 18:04:40 -0500
commit2b8a6bf896ef47cc7d84c503079cc7b99789f9fa (patch)
tree2c742bd8b7343d0e57abc7b11fce62d914886228 /drivers/dma
parent8b794b141c633083408d0bfb2229b3406d0ebf99 (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')
-rw-r--r--drivers/dma/ioat_dma.c7
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);