summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-07-07 13:01:55 +0000
committerDavid S. Miller <davem@davemloft.net>2009-07-08 10:46:43 -0700
commit19e588e7d156cc4415585edd8c27c3075f62eaf8 (patch)
tree132cdd9490c54e46e8a9d83988d8c8a428e1bd9b
parent5ca1ea23c4581f961afaddf1599970e6f05d02dc (diff)
downloadlinux-stable-19e588e7d156cc4415585edd8c27c3075f62eaf8.tar.gz
linux-stable-19e588e7d156cc4415585edd8c27c3075f62eaf8.tar.bz2
linux-stable-19e588e7d156cc4415585edd8c27c3075f62eaf8.zip
igb: set lan id prior to configuring phy
The igb driver was defaulting to using the lock for pci-e function 0 for all of the phys due to the fact that the lan id was not being set prior to initialization. This change makes it so that the function id is set prior to checking for the phy id. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/igb/e1000_82575.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c
index efd9be214885..ac28dd5a4fd1 100644
--- a/drivers/net/igb/e1000_82575.c
+++ b/drivers/net/igb/e1000_82575.c
@@ -190,6 +190,10 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
phy->ops.write_reg = igb_write_phy_reg_igp;
}
+ /* set lan id */
+ hw->bus.func = (rd32(E1000_STATUS) & E1000_STATUS_FUNC_MASK) >>
+ E1000_STATUS_FUNC_SHIFT;
+
/* Set phy->phy_addr and phy->id. */
ret_val = igb_get_phy_id_82575(hw);
if (ret_val)