Commit 6593178d authored by James Bottomley's avatar James Bottomley Committed by Bartlomiej Zolnierkiewicz

[PATCH] ide: fix ide_toggle_bounce() to not try to bounce if we have an IOMMU

The following patch fixes a crash caused by attempting to bounce buffer
when an IDE CD-ROM is used on a machine with an IO-MMU. [At least, this
patch fixes things so I can use my IDE CD-ROM behind an ns87415 on a 
HP PA-RISC workstation.]
Signed-off-by: default avatarJames Bottomley <jejb@parisc-linux.org>
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent c37ea218
...@@ -410,10 +410,10 @@ void ide_toggle_bounce(ide_drive_t *drive, int on) ...@@ -410,10 +410,10 @@ void ide_toggle_bounce(ide_drive_t *drive, int on)
{ {
u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */ u64 addr = BLK_BOUNCE_HIGH; /* dma64_addr_t */
if (on && drive->media == ide_disk) { if (!PCI_DMA_BUS_IS_PHYS) {
if (!PCI_DMA_BUS_IS_PHYS)
addr = BLK_BOUNCE_ANY; addr = BLK_BOUNCE_ANY;
else if (HWIF(drive)->pci_dev) } else if (on && drive->media == ide_disk) {
if (HWIF(drive)->pci_dev)
addr = HWIF(drive)->pci_dev->dma_mask; addr = HWIF(drive)->pci_dev->dma_mask;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment