aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r--drivers/ide/ide-probe.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index ebb1b7f863f4..0ccbb4459fb9 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1229,6 +1229,8 @@ static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
1229 if ((d->host_flags & IDE_HFLAG_NO_DMA) == 0) { 1229 if ((d->host_flags & IDE_HFLAG_NO_DMA) == 0) {
1230 int rc; 1230 int rc;
1231 1231
1232 hwif->dma_ops = d->dma_ops;
1233
1232 if (d->init_dma) 1234 if (d->init_dma)
1233 rc = d->init_dma(hwif, d); 1235 rc = d->init_dma(hwif, d);
1234 else 1236 else
@@ -1236,12 +1238,13 @@ static void ide_init_port(ide_hwif_t *hwif, unsigned int port,
1236 1238
1237 if (rc < 0) { 1239 if (rc < 0) {
1238 printk(KERN_INFO "%s: DMA disabled\n", hwif->name); 1240 printk(KERN_INFO "%s: DMA disabled\n", hwif->name);
1241
1242 hwif->dma_ops = NULL;
1239 hwif->dma_base = 0; 1243 hwif->dma_base = 0;
1240 hwif->swdma_mask = 0; 1244 hwif->swdma_mask = 0;
1241 hwif->mwdma_mask = 0; 1245 hwif->mwdma_mask = 0;
1242 hwif->ultra_mask = 0; 1246 hwif->ultra_mask = 0;
1243 } else if (d->dma_ops) 1247 }
1244 hwif->dma_ops = d->dma_ops;
1245 } 1248 }
1246 1249
1247 if ((d->host_flags & IDE_HFLAG_SERIALIZE) || 1250 if ((d->host_flags & IDE_HFLAG_SERIALIZE) ||