summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2003-04-07 19:38:19 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-04-07 19:38:19 -0700
commit092f49934000b4e07e93c589c4368dca32415282 (patch)
tree7ca02ff860d4391527d2c872d39a3313c70ae056 /drivers
parentfab803068b99b7e60a5d384671f39b78d472a66b (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.c8
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)