diff options
author | Bartlomiej Zolnierkiewicz | 2007-05-16 00:51:43 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz | 2007-05-16 00:51:43 +0200 |
commit | 793a97228d3da876f42b7fb4d4a52cc8cc86dc81 (patch) | |
tree | ce76adb97bca7089e8bc96cb774d90fb3e254926 | |
parent | pdc202xx_new: use ide_tune_dma() (diff) | |
download | kernel-qcow2-linux-793a97228d3da876f42b7fb4d4a52cc8cc86dc81.tar.gz kernel-qcow2-linux-793a97228d3da876f42b7fb4d4a52cc8cc86dc81.tar.xz kernel-qcow2-linux-793a97228d3da876f42b7fb4d4a52cc8cc86dc81.zip |
ide: always disable DMA before tuning it
ide_start_power_step() and set_using_dma() were missing ->dma_off_quietly
call (comment in probe_hwif() states that DMA should be always cleared before
tuning is attempted). Fix it.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r-- | drivers/ide/ide-io.c | 1 | ||||
-rw-r--r-- | drivers/ide/ide.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 8e568143d90d..bfe8f1b712ba 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@ -223,6 +223,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * break; if (drive->hwif->ide_dma_check == NULL) break; + drive->hwif->dma_off_quietly(drive); ide_set_dma(drive); break; } diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index f2b547ff7722..6002713a20a1 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -910,6 +910,7 @@ int set_using_dma(ide_drive_t *drive, int arg) err = 0; if (arg) { + hwif->dma_off_quietly(drive); if (ide_set_dma(drive) || hwif->ide_dma_on(drive)) err = -EIO; } else |