]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] net/sk98lin: correct buggy VPD in ASUS MB
authorAndrew Morton <akpm@osdl.org>
Thu, 27 May 2004 11:33:27 +0000 (07:33 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 27 May 2004 11:33:27 +0000 (07:33 -0400)
From: Jeff Lightfoot <jeffml@pobox.com>

The following patch to net/sk98lin/skvpd.c was put together by Marc Bouget,
mbouget at club-internet.fr.

This patch works around a corrupt EEPROM (VPD?) in the ASUS K8V Deluxe SE
motherboard ethernet chipset and allows the network driver to work
correctly.  We have written to ASUS and the sk98lin maintainers but have
not heard anything back.

drivers/net/sk98lin/skvpd.c

index adf26b626ae77a5199cbedaedcb4e25b14c411bf..83ac42c820a53d757a735479b775cf78a094affd 100644 (file)
@@ -468,6 +468,17 @@ SK_IOC     IoC)    /* IO Context */
        
        pAC->vpd.vpd_size = vpd_size;
 
+       /* Asus K8V Se Deluxe bugfix. Correct VPD content */
+       /* MBo April 2004 */
+       if (((unsigned char)pAC->vpd.vpd_buf[0x3f] == 0x38) &&
+           ((unsigned char)pAC->vpd.vpd_buf[0x40] == 0x3c) &&
+           ((unsigned char)pAC->vpd.vpd_buf[0x41] == 0x45)) {
+               printk("sk98lin: Asus mainboard with buggy VPD? "
+                               "Correcting data.\n");
+               pAC->vpd.vpd_buf[0x40] = 0x38;
+       }
+
+
        /* find the end tag of the RO area */
        if (!(r = vpd_find_para(pAC, VPD_RV, &rp))) {
                SK_DBG_MSG(pAC, SK_DBGMOD_VPD, SK_DBGCAT_ERR | SK_DBGCAT_FATAL,