Incorrect AMD74xx UDMA100 test.

From: davej@codemonkey.org.uk
Date: Wed May 14 2003 - 22:31:05 EST


We do 80wire comparisons based on an uninitialised var.
Shouldn't we also be doing the 80wire check on the UDMA66 case ?

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/ide/pci/amd74xx.c linux-2.5/drivers/ide/pci/amd74xx.c
--- bk-linus/drivers/ide/pci/amd74xx.c 2003-04-10 06:01:18.000000000 +0100
+++ linux-2.5/drivers/ide/pci/amd74xx.c 2003-03-22 12:41:47.000000000 +0000
@@ -313,7 +313,8 @@ static unsigned int __init init_chipset_
 
                 case AMD_UDMA_100:
                         pci_read_config_byte(dev, AMD_CABLE_DETECT, &t);
- amd_80w = ((u & 0x3) ? 1 : 0) | ((u & 0xc) ? 2 : 0);
+ amd_80w = ((t & 0x3) ? 1 : 0) | ((t & 0xc) ? 2 : 0);
+ pci_read_config_dword(dev, AMD_UDMA_TIMING, &u);
                         for (i = 24; i >= 0; i -= 8)
                                 if (((u >> i) & 4) && !(amd_80w & (1 << (1 - (i >> 4))))) {
                                         printk(KERN_WARNING "AMD_IDE: Bios didn't set cable bits correctly. Enabling workaround.\n");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu May 15 2003 - 22:00:55 EST