aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-05-22 11:52:06 -0400
committerJeff Garzik <jeff@garzik.org>2006-05-24 01:53:00 -0400
commitb6079ca409bf88c248992e96510dd6f610f7ed89 (patch)
treee4096503f69f12838969133a995878ed81d8d716 /drivers/scsi/libata-core.c
parent1f3461a72619fcd70a0fcb563306c91f753b4620 (diff)
[PATCH] libata: PIO 0
Ensure the pio_mode is always setup. Don't do any setup on the controller b just ensure the mode reporting is valid to avoid tons of special cases in PATA driver code when mode switching on the fly. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r--drivers/scsi/libata-core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index e891b83be10f..45b6b29bc10f 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1498,6 +1498,12 @@ static int ata_bus_probe(struct ata_port *ap)
1498 if (classes[i] == ATA_DEV_UNKNOWN) 1498 if (classes[i] == ATA_DEV_UNKNOWN)
1499 classes[i] = ATA_DEV_NONE; 1499 classes[i] = ATA_DEV_NONE;
1500 1500
1501 /* after the reset the device state is PIO 0 and the controller
1502 state is undefined. Record the mode */
1503
1504 for (i = 0; i < ATA_MAX_DEVICES; i++)
1505 ap->device[i].pio_mode = XFER_PIO_0;
1506
1501 /* read IDENTIFY page and configure devices */ 1507 /* read IDENTIFY page and configure devices */
1502 for (i = 0; i < ATA_MAX_DEVICES; i++) { 1508 for (i = 0; i < ATA_MAX_DEVICES; i++) {
1503 dev = &ap->device[i]; 1509 dev = &ap->device[i];