Blob Blame Raw
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 8f8139d..22c49ec 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -209,6 +209,12 @@ static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw)
 
 	/* Verify phy id */
 	switch (phy->id) {
+	case 0x0:
+		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.25.noarch/drivers/net/e1000e/netdev.c~	2008-05-16 10:31:41.000000000 -0400
+++ linux-2.6.25.noarch/drivers/net/e1000e/netdev.c	2008-05-16 10:32:43.000000000 -0400
@@ -4599,6 +4599,7 @@ static struct pci_device_id e1000_pci_tb
 	{ 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 },