diff options
Diffstat (limited to 'drivers/ide/ide-lib.c')
-rw-r--r-- | drivers/ide/ide-lib.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c index 074bb32a4a4..d45bbad9ffe 100644 --- a/drivers/ide/ide-lib.c +++ b/drivers/ide/ide-lib.c | |||
@@ -277,7 +277,7 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p | |||
277 | } else if (!drive->id) { | 277 | } else if (!drive->id) { |
278 | pio_mode = 0; | 278 | pio_mode = 0; |
279 | } else if ((pio_mode = ide_scan_pio_blacklist(id->model)) != -1) { | 279 | } else if ((pio_mode = ide_scan_pio_blacklist(id->model)) != -1) { |
280 | overridden = 1; | 280 | printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); |
281 | use_iordy = (pio_mode > 2); | 281 | use_iordy = (pio_mode > 2); |
282 | } else { | 282 | } else { |
283 | pio_mode = id->tPIO; | 283 | pio_mode = id->tPIO; |
@@ -303,12 +303,17 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p | |||
303 | } | 303 | } |
304 | } | 304 | } |
305 | 305 | ||
306 | if (overridden) | ||
307 | printk(KERN_INFO "%s: tPIO > 2, assuming tPIO = 2\n", | ||
308 | drive->name); | ||
309 | |||
306 | /* | 310 | /* |
307 | * Conservative "downgrade" for all pre-ATA2 drives | 311 | * Conservative "downgrade" for all pre-ATA2 drives |
308 | */ | 312 | */ |
309 | if (pio_mode && pio_mode < 4) { | 313 | if (pio_mode && pio_mode < 4) { |
310 | pio_mode--; | 314 | pio_mode--; |
311 | overridden = 1; | 315 | printk(KERN_INFO "%s: applying conservative " |
316 | "PIO \"downgrade\"\n", drive->name); | ||
312 | if (cycle_time && cycle_time < ide_pio_timings[pio_mode].cycle_time) | 317 | if (cycle_time && cycle_time < ide_pio_timings[pio_mode].cycle_time) |
313 | cycle_time = 0; /* use standard timing */ | 318 | cycle_time = 0; /* use standard timing */ |
314 | } | 319 | } |
@@ -321,7 +326,6 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p | |||
321 | d->pio_mode = pio_mode; | 326 | d->pio_mode = pio_mode; |
322 | d->cycle_time = cycle_time ? cycle_time : ide_pio_timings[pio_mode].cycle_time; | 327 | d->cycle_time = cycle_time ? cycle_time : ide_pio_timings[pio_mode].cycle_time; |
323 | d->use_iordy = use_iordy; | 328 | d->use_iordy = use_iordy; |
324 | d->overridden = overridden; | ||
325 | } | 329 | } |
326 | return pio_mode; | 330 | return pio_mode; |
327 | } | 331 | } |