aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-07-19 19:11:56 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-07-19 19:11:56 -0400
commit8987d21ba6a426b0685257866ce366055930b57f (patch)
tree5404c550d3687c70857311d2b4e170838f0fabf5
parent1c164acf50146d8a82caed642951390e073620f1 (diff)
ide: ide_start_power_step() fix WRT disabling DMA
* Do the same thing as probe_hwif() and always disable DMA so chipset DMA enabled bit gets cleared (if the drive doesn't support DMA ide_set_dma() won't try to tune it anyway). * Add TODO comment about respecting ->using_dma setting. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/ide-io.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index f9de79844418..484c50e71446 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -224,11 +224,12 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request *
224 * we could be smarter and check for current xfer_speed 224 * we could be smarter and check for current xfer_speed
225 * in struct drive etc... 225 * in struct drive etc...
226 */ 226 */
227 if ((drive->id->capability & 1) == 0)
228 break;
229 if (drive->hwif->ide_dma_check == NULL) 227 if (drive->hwif->ide_dma_check == NULL)
230 break; 228 break;
231 drive->hwif->dma_off_quietly(drive); 229 drive->hwif->dma_off_quietly(drive);
230 /*
231 * TODO: respect ->using_dma setting
232 */
232 ide_set_dma(drive); 233 ide_set_dma(drive);
233 break; 234 break;
234 } 235 }