ixgbe: clean up the condition for turning on/off the laser
This patch simplifies the check for calling en/disable_tx_laser() function pointer. The pointer is only set on parts that can use it. 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>
This commit is contained in:
Родитель
b3343a2a2c
Коммит
ec74a47155
|
@ -4087,11 +4087,8 @@ static void ixgbe_up_complete(struct ixgbe_adapter *adapter)
|
|||
else
|
||||
ixgbe_configure_msi_and_legacy(adapter);
|
||||
|
||||
/* enable the optics for both mult-speed fiber and 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.enable_tx_laser &&
|
||||
((hw->phy.multispeed_fiber) ||
|
||||
((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
|
||||
(hw->mac.type == ixgbe_mac_82599EB))))
|
||||
/* enable the optics for 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.enable_tx_laser)
|
||||
hw->mac.ops.enable_tx_laser(hw);
|
||||
|
||||
clear_bit(__IXGBE_DOWN, &adapter->state);
|
||||
|
@ -4413,11 +4410,8 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
|
|||
if (!pci_channel_offline(adapter->pdev))
|
||||
ixgbe_reset(adapter);
|
||||
|
||||
/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.disable_tx_laser &&
|
||||
((hw->phy.multispeed_fiber) ||
|
||||
((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
|
||||
(hw->mac.type == ixgbe_mac_82599EB))))
|
||||
/* power down the optics for 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.disable_tx_laser)
|
||||
hw->mac.ops.disable_tx_laser(hw);
|
||||
|
||||
ixgbe_clean_all_tx_rings(adapter);
|
||||
|
@ -5050,14 +5044,8 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
|
|||
if (wufc) {
|
||||
ixgbe_set_rx_mode(netdev);
|
||||
|
||||
/*
|
||||
* enable the optics for both mult-speed fiber and
|
||||
* 82599 SFP+ fiber as we can WoL.
|
||||
*/
|
||||
if (hw->mac.ops.enable_tx_laser &&
|
||||
(hw->phy.multispeed_fiber ||
|
||||
(hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber &&
|
||||
hw->mac.type == ixgbe_mac_82599EB)))
|
||||
/* enable the optics for 82599 SFP+ fiber as we can WoL */
|
||||
if (hw->mac.ops.enable_tx_laser)
|
||||
hw->mac.ops.enable_tx_laser(hw);
|
||||
|
||||
/* turn on all-multi mode if wake on multicast is enabled */
|
||||
|
@ -7468,11 +7456,8 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
|
|||
if (err)
|
||||
goto err_register;
|
||||
|
||||
/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.disable_tx_laser &&
|
||||
((hw->phy.multispeed_fiber) ||
|
||||
((hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) &&
|
||||
(hw->mac.type == ixgbe_mac_82599EB))))
|
||||
/* power down the optics for 82599 SFP+ fiber */
|
||||
if (hw->mac.ops.disable_tx_laser)
|
||||
hw->mac.ops.disable_tx_laser(hw);
|
||||
|
||||
/* carrier off reporting is important to ethtool even BEFORE open */
|
||||
|
|
Загрузка…
Ссылка в новой задаче