From: Bartlomiej Zolnierkiewicz Date: Thu, 19 Jul 2007 23:11:56 +0000 (+0200) Subject: ide: ide_start_power_step() fix WRT disabling DMA X-Git-Tag: v2.6.23-rc1~248^2~10 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8987d21ba6a426b0685257866ce366055930b57f;p=linux-2.6 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 --- diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index f9de798444..484c50e714 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 * * we could be smarter and check for current xfer_speed * in struct drive etc... */ - if ((drive->id->capability & 1) == 0) - break; if (drive->hwif->ide_dma_check == NULL) break; drive->hwif->dma_off_quietly(drive); + /* + * TODO: respect ->using_dma setting + */ ide_set_dma(drive); break; }