aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Tantilov <emil.s.tantilov@intel.com>2011-10-19 03:59:55 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-11-02 19:55:23 -0400
commit93d3ce8fafb888702311fc8c5917faa4c25b8266 (patch)
tree0cc09c215d5f29928c4e0b75e34a39b050f6a194
parent232ef6bc451de2bc17c22fd116838cd89b94e1c1 (diff)
ixgbe: fix disabling of Tx laser at probe
register_netdev() calls ndo_set_features() which may result in HW reset which in turn will bring the laser back up. This patch moves ixgbe_laser_tx_disable() below register_netdev() in ixgbe_probe() to make sure laser is shut off on load. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index b7abf43a877e..2e9fd9dccf0c 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7588,13 +7588,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
7588 goto err_eeprom; 7588 goto err_eeprom;
7589 } 7589 }
7590 7590
7591 /* power down the optics for multispeed fiber and 82599 SFP+ fiber */
7592 if (hw->mac.ops.disable_tx_laser &&
7593 ((hw->phy.multispeed_fiber) ||
7594 ((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
7595 (hw->mac.type == ixgbe_mac_82599EB))))
7596 hw->mac.ops.disable_tx_laser(hw);
7597
7598 setup_timer(&adapter->service_timer, &ixgbe_service_timer, 7591 setup_timer(&adapter->service_timer, &ixgbe_service_timer,
7599 (unsigned long) adapter); 7592 (unsigned long) adapter);
7600 7593
@@ -7692,6 +7685,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
7692 if (err) 7685 if (err)
7693 goto err_register; 7686 goto err_register;
7694 7687
7688 /* power down the optics for multispeed fiber and 82599 SFP+ fiber */
7689 if (hw->mac.ops.disable_tx_laser &&
7690 ((hw->phy.multispeed_fiber) ||
7691 ((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
7692 (hw->mac.type == ixgbe_mac_82599EB))))
7693 hw->mac.ops.disable_tx_laser(hw);
7694
7695 /* carrier off reporting is important to ethtool even BEFORE open */ 7695 /* carrier off reporting is important to ethtool even BEFORE open */
7696 netif_carrier_off(netdev); 7696 netif_carrier_off(netdev);
7697 7697