From: Bartlomiej Zolnierkiewicz Date: Mon, 18 Jan 2010 17:15:04 +0000 (+0100) Subject: pata_cmd64x: fix handling of address setup timings X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=d62f5576efc4886c0f3633c2652c3a924e043be9;p=deliverable%2Flinux.git pata_cmd64x: fix handling of address setup timings Account for the requirements of the DMA mode currently used by the pair device. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik --- diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c index db08c9d1a333..0235a1d3c2fb 100644 --- a/drivers/ata/pata_cmd64x.c +++ b/drivers/ata/pata_cmd64x.c @@ -131,8 +131,14 @@ static void cmd64x_set_timing(struct ata_port *ap, struct ata_device *adev, u8 m if (pair) { struct ata_timing tp; + ata_timing_compute(pair, pair->pio_mode, &tp, T, 0); ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); + if (pair->dma_mode) { + ata_timing_compute(pair, pair->dma_mode, + &tp, T, 0); + ata_timing_merge(&tp, &t, &t, ATA_TIMING_SETUP); + } } }