]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
e1000e: Remove Meteor Lake SMBUS workarounds
authorVitaly Lifshits <vitaly.lifshits@intel.com>
Tue, 1 Oct 2024 17:08:48 +0000 (20:08 +0300)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 4 Nov 2024 21:09:34 +0000 (13:09 -0800)
This is a partial revert to commit 76a0a3f9cc2f ("e1000e: fix force smbus
during suspend flow"). That commit fixed a sporadic PHY access issue but
introduced a regression in runtime suspend flows.
The original issue on Meteor Lake systems was rare in terms of the
reproduction rate and the number of the systems affected.

After the integration of commit 0a6ad4d9e169 ("e1000e: avoid failing the
system during pm_suspend"), PHY access loss can no longer cause a
system-level suspend failure. As it only occurs when the LAN cable is
disconnected, and is recovered during system resume flow. Therefore, its
functional impact is low, and the priority is given to stabilizing
runtime suspend.

Fixes: 76a0a3f9cc2f ("e1000e: fix force smbus during suspend flow")
Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Tested-by: Avigail Dahan <avigailx.dahan@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/e1000e/ich8lan.c

index ce227b56cf72435e30674b0ac25452c00bd1cc6d..2f9655cf5dd9ee12d59b48ea5300a1319588ddb5 100644 (file)
@@ -1205,12 +1205,10 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx)
        if (ret_val)
                goto out;
 
-       if (hw->mac.type != e1000_pch_mtp) {
-               ret_val = e1000e_force_smbus(hw);
-               if (ret_val) {
-                       e_dbg("Failed to force SMBUS: %d\n", ret_val);
-                       goto release;
-               }
+       ret_val = e1000e_force_smbus(hw);
+       if (ret_val) {
+               e_dbg("Failed to force SMBUS: %d\n", ret_val);
+               goto release;
        }
 
        /* Si workaround for ULP entry flow on i127/rev6 h/w.  Enable
@@ -1273,13 +1271,6 @@ s32 e1000_enable_ulp_lpt_lp(struct e1000_hw *hw, bool to_sx)
        }
 
 release:
-       if (hw->mac.type == e1000_pch_mtp) {
-               ret_val = e1000e_force_smbus(hw);
-               if (ret_val)
-                       e_dbg("Failed to force SMBUS over MTL system: %d\n",
-                             ret_val);
-       }
-
        hw->phy.ops.release(hw);
 out:
        if (ret_val)