diff options
Diffstat (limited to 'drivers/ide/ide-lib.c')
-rw-r--r-- | drivers/ide/ide-lib.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c index 3066d7e75c73..738c007a04d3 100644 --- a/drivers/ide/ide-lib.c +++ b/drivers/ide/ide-lib.c | |||
@@ -102,14 +102,14 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode) | |||
102 | if (pio_mode != -1) { | 102 | if (pio_mode != -1) { |
103 | printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); | 103 | printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); |
104 | } else { | 104 | } else { |
105 | pio_mode = drive->driveid->tPIO; | 105 | pio_mode = id[ATA_ID_OLD_PIO_MODES] >> 8; |
106 | if (pio_mode > 2) { /* 2 is maximum allowed tPIO value */ | 106 | if (pio_mode > 2) { /* 2 is maximum allowed tPIO value */ |
107 | pio_mode = 2; | 107 | pio_mode = 2; |
108 | overridden = 1; | 108 | overridden = 1; |
109 | } | 109 | } |
110 | 110 | ||
111 | if (id[ATA_ID_FIELD_VALID] & 2) { /* ATA2? */ | 111 | if (id[ATA_ID_FIELD_VALID] & 2) { /* ATA2? */ |
112 | if (drive->driveid->capability & 8) { /* IORDY sup? */ | 112 | if (ata_id_has_iordy(id)) { |
113 | if (id[ATA_ID_PIO_MODES] & 7) { | 113 | if (id[ATA_ID_PIO_MODES] & 7) { |
114 | overridden = 0; | 114 | overridden = 0; |
115 | if (id[ATA_ID_PIO_MODES] & 4) | 115 | if (id[ATA_ID_PIO_MODES] & 4) |