Orabug:
21823210
The following commit added the capability of entering low power mode:
ixgbe: Add a PHY power state method
This works fine with newer drivers that support this capability,
however older drivers that dont support this encounter a regression
as they are not able to restore power mode at boot when the driver
loads. This regression is encountered when booting a newer kernel/driver
that supports low power mode, then doing a warm reboot to an older
kernel or other OS like FreeBSD that do not know how to restore the
power mode. In this case a cold reboot is required to restore power
mode.
Signed-off-by: Brian Maly <brian.maly@oracle.com>
ixgbe_ptp_reset(adapter);
if (hw->phy.ops.set_phy_power) {
- if (!netif_running(adapter->netdev) && !adapter->wol)
- hw->phy.ops.set_phy_power(hw, false);
- else
+ if (netif_running(adapter->netdev) && adapter->wol)
hw->phy.ops.set_phy_power(hw, true);
}
}
ixgbe_free_irq(adapter);
err_req_irq:
ixgbe_free_all_rx_resources(adapter);
- if (hw->phy.ops.set_phy_power && !adapter->wol)
- hw->phy.ops.set_phy_power(&adapter->hw, false);
err_setup_rx:
ixgbe_free_all_tx_resources(adapter);
err_setup_tx:
}
*enable_wake = !!wufc;
- if (hw->phy.ops.set_phy_power && !*enable_wake)
- hw->phy.ops.set_phy_power(hw, false);
ixgbe_release_hw_control(adapter);