mirror of https://gitee.com/openkylin/linux.git
[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: James Bottomley <jejb@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
c37ea218cb
commit
6593178dd4
|
@ -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 (on && drive->media == ide_disk) {
|
||||||
else if (HWIF(drive)->pci_dev)
|
if (HWIF(drive)->pci_dev)
|
||||||
addr = HWIF(drive)->pci_dev->dma_mask;
|
addr = HWIF(drive)->pci_dev->dma_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue