From: Bartlomiej Zolnierkiewicz Date: Sat, 26 Jan 2008 19:13:02 +0000 (+0100) Subject: ide: move drive->using_dma check to callers of ->dma_host_on method X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f37aaf9edeba3f4ae10d22aefc09c06af9ea39b6;p=linux-beck.git ide: move drive->using_dma check to callers of ->dma_host_on method Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz --- diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index edd0018c4988..780911e0537e 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c @@ -471,7 +471,7 @@ EXPORT_SYMBOL(ide_dma_off); void ide_dma_host_on(ide_drive_t *drive) { - if (drive->using_dma) { + if (1) { ide_hwif_t *hwif = HWIF(drive); u8 unit = (drive->select.b.unit & 0x01); u8 dma_stat = hwif->INB(hwif->dma_status); diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 76cb5f2bd4e6..e30f67e09b9c 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -799,7 +799,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) skip: #ifdef CONFIG_BLK_DEV_IDEDMA - if (speed >= XFER_SW_DMA_0 || (hwif->host_flags & IDE_HFLAG_VDMA)) + if ((speed >= XFER_SW_DMA_0 || (hwif->host_flags & IDE_HFLAG_VDMA)) && + drive->using_dma) hwif->dma_host_on(drive); else if (hwif->dma_host_on) /* check if host supports DMA */ ide_dma_off_quietly(drive); diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index 78058ca2ce76..2bd52af83d37 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c @@ -109,8 +109,7 @@ static void cs5520_set_dma_mode(ide_drive_t *drive, const u8 speed) static void cs5520_dma_host_on(ide_drive_t *drive) { - if (drive->using_dma) - drive->vdma = 1; + drive->vdma = 1; ide_dma_host_on(drive); } diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index 8a94c3e8f7c4..9303dfee7780 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c @@ -221,7 +221,7 @@ static void sc1200_set_pio_mode(ide_drive_t *drive, const u8 pio) if (mode != -1) { printk("SC1200: %s: changing (U)DMA mode\n", drive->name); ide_dma_off_quietly(drive); - if (ide_set_dma_mode(drive, mode) == 0) + if (ide_set_dma_mode(drive, mode) == 0 && drive->using_dma) hwif->dma_host_on(drive); return; }