diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-05-22 11:52:06 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-05-24 01:53:00 -0400 |
commit | b6079ca409bf88c248992e96510dd6f610f7ed89 (patch) | |
tree | e4096503f69f12838969133a995878ed81d8d716 /drivers/scsi/libata-core.c | |
parent | 1f3461a72619fcd70a0fcb563306c91f753b4620 (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.c | 6 |
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]; |