diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2003-04-07 19:38:19 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-04-07 19:38:19 -0700 |
| commit | 092f49934000b4e07e93c589c4368dca32415282 (patch) | |
| tree | 7ca02ff860d4391527d2c872d39a3313c70ae056 /drivers | |
| parent | fab803068b99b7e60a5d384671f39b78d472a66b (diff) | |
[PATCH] fix our handling of BIOS forced PIO serverworks OSB4
(Robert Hentosh & me)
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/ide/pci/serverworks.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index dff486139305..ae383cd05862 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c @@ -419,7 +419,13 @@ static void config_chipset_for_pio (ide_drive_t *drive) static void svwks_tune_drive (ide_drive_t *drive, u8 pio) { - (void) svwks_tune_chipset(drive, (XFER_PIO_0 + pio)); + /* Tune to desired value or to "best". We must not adjust + "best" when we adjust from pio numbers to rate values! */ + + if(pio != 255) + (void) svwks_tune_chipset(drive, (XFER_PIO_0 + pio)); + else + (void) svwks_tune_chipset(drive, 255); } static int config_chipset_for_dma (ide_drive_t *drive) |
