|
@@ -3684,10 +3684,6 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
|
|
|
/* signal that we are down to the interrupt handler */
|
|
|
set_bit(__IXGBE_DOWN, &adapter->state);
|
|
|
|
|
|
- /* power down the optics */
|
|
|
- if (hw->phy.multispeed_fiber)
|
|
|
- hw->mac.ops.disable_tx_laser(hw);
|
|
|
-
|
|
|
/* disable receive for all VFs and wait one second */
|
|
|
if (adapter->num_vfs) {
|
|
|
/* ping all the active vfs to let them know we are going down */
|
|
@@ -3742,6 +3738,10 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
|
|
|
(IXGBE_READ_REG(hw, IXGBE_DMATXCTL) &
|
|
|
~IXGBE_DMATXCTL_TE));
|
|
|
|
|
|
+ /* power down the optics */
|
|
|
+ if (hw->phy.multispeed_fiber)
|
|
|
+ hw->mac.ops.disable_tx_laser(hw);
|
|
|
+
|
|
|
/* clear n-tuple filters that are cached */
|
|
|
ethtool_ntuple_flush(netdev);
|
|
|
|