From: Jeff Lightfoot 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. DESC skvpd-build-fix EDESC --- 25-akpm/drivers/net/sk98lin/skvpd.c | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -puN drivers/net/sk98lin/skvpd.c~sk98lin-buggy-vpd-workaround drivers/net/sk98lin/skvpd.c --- 25/drivers/net/sk98lin/skvpd.c~sk98lin-buggy-vpd-workaround 2004-04-07 20:30:04.000000000 -0700 +++ 25-akpm/drivers/net/sk98lin/skvpd.c 2004-04-07 21:38:50.932875760 -0700 @@ -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, _