diff options
| -rw-r--r-- | drivers/dma/pch_dma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index 61fdc54a3c88..05fa548bd659 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c | |||
| @@ -964,16 +964,16 @@ static void pch_dma_remove(struct pci_dev *pdev) | |||
| 964 | if (pd) { | 964 | if (pd) { |
| 965 | dma_async_device_unregister(&pd->dma); | 965 | dma_async_device_unregister(&pd->dma); |
| 966 | 966 | ||
| 967 | free_irq(pdev->irq, pd); | ||
| 968 | |||
| 967 | list_for_each_entry_safe(chan, _c, &pd->dma.channels, | 969 | list_for_each_entry_safe(chan, _c, &pd->dma.channels, |
| 968 | device_node) { | 970 | device_node) { |
| 969 | pd_chan = to_pd_chan(chan); | 971 | pd_chan = to_pd_chan(chan); |
| 970 | 972 | ||
| 971 | tasklet_disable(&pd_chan->tasklet); | ||
| 972 | tasklet_kill(&pd_chan->tasklet); | 973 | tasklet_kill(&pd_chan->tasklet); |
| 973 | } | 974 | } |
| 974 | 975 | ||
| 975 | pci_pool_destroy(pd->pool); | 976 | pci_pool_destroy(pd->pool); |
| 976 | free_irq(pdev->irq, pd); | ||
| 977 | pci_iounmap(pdev, pd->membase); | 977 | pci_iounmap(pdev, pd->membase); |
| 978 | pci_release_regions(pdev); | 978 | pci_release_regions(pdev); |
| 979 | pci_disable_device(pdev); | 979 | pci_disable_device(pdev); |
