diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-01 17:09:31 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-01 17:09:31 -0500 |
commit | f6fb786d6dcdd7d730e4fba620b071796f487e1b (patch) | |
tree | f1f8368fecee874caf487a95b1cfa2adcdfc0df6 /drivers/ide/ppc/pmac.c | |
parent | fcc1175947510d7d7dc82d5c1b8315cb8fcb96ca (diff) |
ide: use ide_destroy_dmatable() instead of pci_unmap_sg() (take 2)
Use ide_destroy_dmatable() in:
* ide-dma.c::ide_build_dmatable()
* sgiioc4.c::sgiioc4_build_dma_table()
* pmac.c::pmac_ide_{build,destroy}_dmatable()
There should be no functionality changes caused by this patch.
v2:
* pmac.c build fix from Andrew Morton.
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ppc/pmac.c')
-rw-r--r-- | drivers/ide/ppc/pmac.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index 4afc58fb3674..1d6af8824219 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -1535,11 +1535,10 @@ pmac_ide_build_dmatable(ide_drive_t *drive, struct request *rq) | |||
1535 | } | 1535 | } |
1536 | 1536 | ||
1537 | printk(KERN_DEBUG "%s: empty DMA table?\n", drive->name); | 1537 | printk(KERN_DEBUG "%s: empty DMA table?\n", drive->name); |
1538 | use_pio_instead: | 1538 | |
1539 | pci_unmap_sg(hwif->pci_dev, | 1539 | use_pio_instead: |
1540 | hwif->sg_table, | 1540 | ide_destroy_dmatable(drive); |
1541 | hwif->sg_nents, | 1541 | |
1542 | hwif->sg_dma_direction); | ||
1543 | return 0; /* revert to PIO for this request */ | 1542 | return 0; /* revert to PIO for this request */ |
1544 | } | 1543 | } |
1545 | 1544 | ||
@@ -1548,12 +1547,9 @@ static void | |||
1548 | pmac_ide_destroy_dmatable (ide_drive_t *drive) | 1547 | pmac_ide_destroy_dmatable (ide_drive_t *drive) |
1549 | { | 1548 | { |
1550 | ide_hwif_t *hwif = drive->hwif; | 1549 | ide_hwif_t *hwif = drive->hwif; |
1551 | struct pci_dev *dev = HWIF(drive)->pci_dev; | ||
1552 | struct scatterlist *sg = hwif->sg_table; | ||
1553 | int nents = hwif->sg_nents; | ||
1554 | 1550 | ||
1555 | if (nents) { | 1551 | if (hwif->sg_nents) { |
1556 | pci_unmap_sg(dev, sg, nents, hwif->sg_dma_direction); | 1552 | ide_destroy_dmatable(drive); |
1557 | hwif->sg_nents = 0; | 1553 | hwif->sg_nents = 0; |
1558 | } | 1554 | } |
1559 | } | 1555 | } |