[Intel-wired-lan] [PATCH iwl-net v1 1/1] e1000e: fix non-deterministic behavior in e1000_shutdown
Vitaly Lifshits
vitaly.lifshits at intel.com
Tue Jan 2 14:14:09 UTC 2024
A non-deterministic behavior was found in e1000_shutdown function.
In it, the variable retval is being evaluated according to the
configurations in the hardware. Sometimes, it might be validated
for a previous assignment, where it is wrong.
Therefore curly braces were added at that part of the code.
Fixes: 74f350ee08e2 ("e1000e: Feature Enable PHY Ultra Low Power Mode (ULP)")
Signed-off-by: Vitaly Lifshits <vitaly.lifshits at intel.com>
---
drivers/net/ethernet/intel/e1000e/netdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index f536c856727c..e51d79d8a7d7 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6691,14 +6691,14 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool runtime)
if (adapter->hw.phy.type == e1000_phy_igp_3) {
e1000e_igp3_phy_powerdown_workaround_ich8lan(&adapter->hw);
} else if (hw->mac.type >= e1000_pch_lpt) {
- if (wufc && !(wufc & (E1000_WUFC_EX | E1000_WUFC_MC | E1000_WUFC_BC)))
+ if (wufc && !(wufc & (E1000_WUFC_EX | E1000_WUFC_MC | E1000_WUFC_BC))) {
/* ULP does not support wake from unicast, multicast
* or broadcast.
*/
retval = e1000_enable_ulp_lpt_lp(hw, !runtime);
-
- if (retval)
- return retval;
+ if (retval)
+ return retval;
+ }
}
/* Ensure that the appropriate bits are set in LPI_CTRL
--
2.34.1
More information about the Intel-wired-lan
mailing list