amd74xx cable detect.

From: davej@codemonkey.org.uk
Date: Mon Mar 24 2003 - 11:41:47 EST


A patch from a few weeks back, that seemed to not get
any attention. Currently the cable detection is based upon
reads from an uninitialised variable.

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-03-22 12:36:22.000000000 +0000
+++ 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 : Mon Mar 31 2003 - 22:00:16 EST