ide: move drive->using_dma check to callers of ->dma_host_on method
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
8ae60e34dd
commit
f37aaf9ede
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user