diff options
author | Shannon Nelson <shannon.nelson@intel.com> | 2007-10-18 06:07:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:32 -0400 |
commit | 7df7cf0676060d778486359676734447347e1caf (patch) | |
tree | 1a452993706602ea26b2ec4040fae4818c8e22bb /drivers/dma/ioat_dma.c | |
parent | d8c98618f4bb8161cc0c14e110b07ba37249332b (diff) |
I/OAT: cleanup pci issues
Reorder the pci release actions
Letting go of the resources in the right order helps get rid of
occasional kernel complaints.
Fix the pci_driver object name [Randy Dunlap]
Rename the struct pci_driver data so that false section mismatch
warnings won't be produced.
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/dma/ioat_dma.c')
-rw-r--r-- | drivers/dma/ioat_dma.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c index 66c5bb53211..59d4344db00 100644 --- a/drivers/dma/ioat_dma.c +++ b/drivers/dma/ioat_dma.c | |||
@@ -931,7 +931,6 @@ err_completion_pool: | |||
931 | err_dma_pool: | 931 | err_dma_pool: |
932 | kfree(device); | 932 | kfree(device); |
933 | err_kzalloc: | 933 | err_kzalloc: |
934 | iounmap(iobase); | ||
935 | dev_err(&device->pdev->dev, | 934 | dev_err(&device->pdev->dev, |
936 | "ioatdma: Intel(R) I/OAT DMA Engine initialization failed\n"); | 935 | "ioatdma: Intel(R) I/OAT DMA Engine initialization failed\n"); |
937 | return NULL; | 936 | return NULL; |
@@ -949,6 +948,10 @@ void ioat_dma_remove(struct ioatdma_device *device) | |||
949 | pci_pool_destroy(device->dma_pool); | 948 | pci_pool_destroy(device->dma_pool); |
950 | pci_pool_destroy(device->completion_pool); | 949 | pci_pool_destroy(device->completion_pool); |
951 | 950 | ||
951 | iounmap(device->reg_base); | ||
952 | pci_release_regions(device->pdev); | ||
953 | pci_disable_device(device->pdev); | ||
954 | |||
952 | list_for_each_entry_safe(chan, _chan, | 955 | list_for_each_entry_safe(chan, _chan, |
953 | &device->common.channels, device_node) { | 956 | &device->common.channels, device_node) { |
954 | ioat_chan = to_ioat_chan(chan); | 957 | ioat_chan = to_ioat_chan(chan); |