Hi, e1000e probe fails on our Ivy Bridge as e1000_init_phy_params_pchlan() is unable to determine the phy type. The phy->id had value 0xffff0090 right before e1000e_get_phy_type_from_id(phy->id) was called.
I traced the problem to e1000_phy_is_accessible_pchlan(). The first register read (PHY_ID1) seems to always return 0xffff. I tested and saw that it does not to matter which register is read first, it always returns 0xffff. The second read returns proper value, so I hacked it like this for now: diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c index 238ab2f..292a234 100644 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c @@ -329,6 +329,7 @@ static bool e1000_phy_is_accessible_pchlan(struct e1000_hw *hw) u32 phy_id; e1e_rphy_locked(hw, PHY_ID1, &phy_reg); + e1e_rphy_locked(hw, PHY_ID1, &phy_reg); phy_id = (u32)(phy_reg << 16); e1e_rphy_locked(hw, PHY_ID2, &phy_reg); phy_id |= (u32)(phy_reg & PHY_REVISION_MASK); Br, -- heikki ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired