Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b8a6bf8 authored by Maciej Sosnowski's avatar Maciej Sosnowski Committed by Dan Williams
Browse files

I/OAT: cancel watchdog before dma remove



Channel watchdog should be canceled before the rest of dma remove stuff.

Signed-off-by: default avatarMaciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: default avatarShannon Nelson <shannon.nelson@intel.com>
Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 8b794b14
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1705,6 +1705,9 @@ void ioat_dma_remove(struct ioatdma_device *device)
	struct dma_chan *chan, *_chan;
	struct ioat_dma_chan *ioat_chan;

	if (device->version != IOAT_VER_3_0)
		cancel_delayed_work(&device->work);

	ioat_dma_remove_interrupts(device);

	dma_async_device_unregister(&device->common);
@@ -1716,10 +1719,6 @@ void ioat_dma_remove(struct ioatdma_device *device)
	pci_release_regions(device->pdev);
	pci_disable_device(device->pdev);

	if (device->version != IOAT_VER_3_0) {
		cancel_delayed_work(&device->work);
	}

	list_for_each_entry_safe(chan, _chan,
				 &device->common.channels, device_node) {
		ioat_chan = to_ioat_chan(chan);