From: Bartlomiej Zolnierkiewicz Subject: [PATCH] ide: always set DMA masks in ide_pci_setup_ports() Always set DMA masks in ide_pci_setup_ports() to make sure that the valid masks for a host are set. Signed-off-by: Bartlomiej Zolnierkiewicz --- +34 bytes drivers/ide/setup-pci.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) Index: b/drivers/ide/setup-pci.c =================================================================== --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c @@ -556,10 +556,15 @@ void ide_pci_setup_ports(struct pci_dev hwif->drives[1].unmask = 1; } - if (hwif->dma_base) { - hwif->swdma_mask = d->swdma_mask; - hwif->mwdma_mask = d->mwdma_mask; - hwif->ultra_mask = d->udma_mask; + hwif->swdma_mask = d->swdma_mask; + hwif->mwdma_mask = d->mwdma_mask; + hwif->ultra_mask = d->udma_mask; + + if ((d->host_flags && IDE_HFLAG_NO_DMA) == 0 && + hwif->dma_base == 0) { + hwif->swdma_mask = 0; + hwif->mwdma_mask = 0; + hwif->ultra_mask = 0; } hwif->drives[0].autotune = 1;