ChangeSet@1.884, 2002-12-18 10:01:30+01:00, vojtech@suse.cz vt82cxxx.c IDE: Never use 1 PCICLK address setup, because new devices choke on it. via82cxxx.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) diff -Nru a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c --- a/drivers/ide/pci/via82cxxx.c Wed Dec 18 10:01:43 2002 +++ b/drivers/ide/pci/via82cxxx.c Wed Dec 18 10:01:43 2002 @@ -286,6 +286,9 @@ * @timing: IDE timing data to use * * via_set_speed writes timing values to the chipset registers + * Note: we never use the fastest ADDRESS_SETUP timing (1 PCICLK), + * because although it is OK with PIO4, many modern ATAPI devices + * choke on it. */ static void via_set_speed(struct pci_dev *dev, u8 dn, struct ide_timing *timing) @@ -293,7 +296,7 @@ u8 t; pci_read_config_byte(dev, VIA_ADDRESS_SETUP, &t); - t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 1, 4) - 1) << ((3 - dn) << 1)); + t = (t & ~(3 << ((3 - dn) << 1))) | ((FIT(timing->setup, 2, 4) - 1) << ((3 - dn) << 1)); pci_write_config_byte(dev, VIA_ADDRESS_SETUP, t); pci_write_config_byte(dev, VIA_8BIT_TIMING + (1 - (dn >> 1)),