aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-07-23 14:10:43 -0400
committerDavid S. Miller <davem@davemloft.net>2009-07-26 12:47:03 -0400
commita0c98605d7237fc4bf26a345db5f950f46e69834 (patch)
tree219d3f0f7b2ae5fce5957fe28679a427a6ba1f11 /drivers/net/igb
parent0cce119aa977dba00467985c0ae93fe43d28740a (diff)
igb: initialize mailbox function pointers prior to phy init
The igb driver is currently initializing the mailbox function pointers after the phy. This causes issues as the phy init will return from the function early if there is no phy present. To resolve this I have moved the function pointer init to a location prior to the phy initialization so that serdes based adapters can also make use of SR-IOV. 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>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/e1000_82575.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c
index dbbd72f35552..6158c0f3b205 100644
--- a/drivers/net/igb/e1000_82575.c
+++ b/drivers/net/igb/e1000_82575.c
@@ -172,6 +172,10 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
172 size = 14; 172 size = 14;
173 nvm->word_size = 1 << size; 173 nvm->word_size = 1 << size;
174 174
175 /* if 82576 then initialize mailbox parameters */
176 if (mac->type == e1000_82576)
177 igb_init_mbx_params_pf(hw);
178
175 /* setup PHY parameters */ 179 /* setup PHY parameters */
176 if (phy->media_type != e1000_media_type_copper) { 180 if (phy->media_type != e1000_media_type_copper) {
177 phy->type = e1000_phy_none; 181 phy->type = e1000_phy_none;
@@ -221,10 +225,6 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
221 return -E1000_ERR_PHY; 225 return -E1000_ERR_PHY;
222 } 226 }
223 227
224 /* if 82576 then initialize mailbox parameters */
225 if (mac->type == e1000_82576)
226 igb_init_mbx_params_pf(hw);
227
228 return 0; 228 return 0;
229} 229}
230 230