summaryrefslogtreecommitdiffstats
path: root/linux-2.6-e1000-ich9-montevina.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux-2.6-e1000-ich9-montevina.patch')
-rw-r--r--linux-2.6-e1000-ich9-montevina.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/linux-2.6-e1000-ich9-montevina.patch b/linux-2.6-e1000-ich9-montevina.patch
new file mode 100644
index 000000000..888d0a766
--- /dev/null
+++ b/linux-2.6-e1000-ich9-montevina.patch
@@ -0,0 +1,30 @@
+This only showed up in one SDV (Montevina).
+The PCIE slots don't seem to like network cards, so this is the only hope
+to get networking working. It's never going upstream, but it's low impact
+enough to carry just to keep those SDVs working.
+
+--- linux-2.6.35.noarch/drivers/net/e1000e/ich8lan.c~ 2010-09-29 17:53:13.000000000 -0400
++++ linux-2.6.35.noarch/drivers/net/e1000e/ich8lan.c 2010-09-29 17:54:00.000000000 -0400
+@@ -424,6 +424,12 @@ static s32 e1000_init_phy_params_ich8lan
+
+ /* Verify phy id */
+ switch (phy->id) {
++ case 0:
++ if (hw->adapter->pdev->device == 0x10be)
++ hw_dbg(hw, "got 0 phy id, trying anyway");
++ /* Fall through to IGP03E1000 case below */
++ else
++ return -E1000_ERR_PHY;
+ case IGP03E1000_E_PHY_ID:
+ phy->type = e1000_phy_igp_3;
+ phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
+--- linux-2.6.35.noarch/drivers/net/e1000e/netdev.c~ 2010-09-29 17:54:07.000000000 -0400
++++ linux-2.6.35.noarch/drivers/net/e1000e/netdev.c 2010-09-29 17:54:29.000000000 -0400
+@@ -5994,6 +5994,7 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M), board_ich9lan },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT), board_ich9lan },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V), board_ich9lan },
++ { PCI_VDEVICE(INTEL, 0x10be), board_ich9lan },
+
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM), board_ich9lan },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan },