diff options
Diffstat (limited to 'drivers/ide/ide-lib.c')
| -rw-r--r-- | drivers/ide/ide-lib.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c index 8400b1b4aa1b..d97390c0543b 100644 --- a/drivers/ide/ide-lib.c +++ b/drivers/ide/ide-lib.c | |||
| @@ -398,6 +398,18 @@ int ide_set_xfer_rate(ide_drive_t *drive, u8 rate) | |||
| 398 | 398 | ||
| 399 | rate = ide_rate_filter(drive, rate); | 399 | rate = ide_rate_filter(drive, rate); |
| 400 | 400 | ||
| 401 | if (rate >= XFER_PIO_0 && rate <= XFER_PIO_5) { | ||
| 402 | if (hwif->set_pio_mode) | ||
| 403 | hwif->set_pio_mode(drive, rate - XFER_PIO_0); | ||
| 404 | |||
| 405 | /* | ||
| 406 | * FIXME: this is incorrect to return zero here but | ||
| 407 | * since all users of ide_set_xfer_rate() ignore | ||
| 408 | * the return value it is not a problem currently | ||
| 409 | */ | ||
| 410 | return 0; | ||
| 411 | } | ||
| 412 | |||
| 401 | return hwif->speedproc(drive, rate); | 413 | return hwif->speedproc(drive, rate); |
| 402 | } | 414 | } |
| 403 | 415 | ||
