ide: use standard timing for XFER_PIO_SLOW mode in ide_timing_compute()
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Mon, 18 Jan 2010 07:17:29 +0000 (07:17 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Jan 2010 09:24:55 +0000 (01:24 -0800)
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/ide-timings.c

index 001a563..c6053ab 100644 (file)
@@ -166,12 +166,13 @@ int ide_timing_compute(ide_drive_t *drive, u8 speed,
        if (id[ATA_ID_FIELD_VALID] & 2) {       /* EIDE drive */
                memset(&p, 0, sizeof(p));
 
-               if (speed <= XFER_PIO_2)
-                       p.cycle = p.cyc8b = id[ATA_ID_EIDE_PIO];
-               else if ((speed <= XFER_PIO_4) ||
-                        (speed == XFER_PIO_5 && !ata_id_is_cfa(id)))
-                       p.cycle = p.cyc8b = id[ATA_ID_EIDE_PIO_IORDY];
-               else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2)
+               if (speed >= XFER_PIO_0 && speed <= XFER_SW_DMA_0) {
+                       if (speed <= XFER_PIO_2)
+                               p.cycle = p.cyc8b = id[ATA_ID_EIDE_PIO];
+                       else if ((speed <= XFER_PIO_4) ||
+                                (speed == XFER_PIO_5 && !ata_id_is_cfa(id)))
+                               p.cycle = p.cyc8b = id[ATA_ID_EIDE_PIO_IORDY];
+               } else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2)
                        p.cycle = id[ATA_ID_EIDE_DMA_MIN];
 
                ide_timing_merge(&p, t, t, IDE_TIMING_CYCLE | IDE_TIMING_CYC8B);