diff options
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 3e26b1f9ac75..dac7c01f8332 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -4893,6 +4893,16 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake) | |||
4893 | if (wufc) { | 4893 | if (wufc) { |
4894 | ixgbe_set_rx_mode(netdev); | 4894 | ixgbe_set_rx_mode(netdev); |
4895 | 4895 | ||
4896 | /* | ||
4897 | * enable the optics for both mult-speed fiber and | ||
4898 | * 82599 SFP+ fiber as we can WoL. | ||
4899 | */ | ||
4900 | if (hw->mac.ops.enable_tx_laser && | ||
4901 | (hw->phy.multispeed_fiber || | ||
4902 | (hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber && | ||
4903 | hw->mac.type == ixgbe_mac_82599EB))) | ||
4904 | hw->mac.ops.enable_tx_laser(hw); | ||
4905 | |||
4896 | /* turn on all-multi mode if wake on multicast is enabled */ | 4906 | /* turn on all-multi mode if wake on multicast is enabled */ |
4897 | if (wufc & IXGBE_WUFC_MC) { | 4907 | if (wufc & IXGBE_WUFC_MC) { |
4898 | fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL); | 4908 | fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL); |