Message ID | 20200618065453.12140-1-aaron.ma@canonical.com |
---|---|
State | Awaiting Upstream |
Delegated to: | David Miller |
Headers | show |
Series | [v4] e1000e: continue to init phy even when failed to disable ULP | expand |
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Aaron Ma > Sent: Wednesday, June 17, 2020 11:55 PM > To: kuba@kernel.org; Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; > davem@davemloft.net; intel-wired-lan@lists.osuosl.org; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Lifshits, Vitaly > <vitaly.lifshits@intel.com>; kai.heng.feng@canonical.com; Neftin, Sasha > <sasha.neftin@intel.com> > Subject: [Intel-wired-lan] [v4][PATCH] e1000e: continue to init phy even when > failed to disable ULP > > After 'commit e086ba2fccda4 ("e1000e: disable s0ix entry and exit flows > for ME systems")', > ThinkPad P14s always failed to disable ULP by ME. > 'commit 0c80cdbf3320 ("e1000e: Warn if disabling ULP failed")' > break out of init phy: > > error log: > [ 42.364753] e1000e 0000:00:1f.6 enp0s31f6: Failed to disable ULP > [ 42.524626] e1000e 0000:00:1f.6 enp0s31f6: PHY Wakeup cause - Unicast > Packet > [ 42.822476] e1000e 0000:00:1f.6 enp0s31f6: Hardware Error > > When disable s0ix, E1000_FWSM_ULP_CFG_DONE will never be 1. > If continue to init phy like before, it can work as before. > iperf test result good too. > > Fixes: 0c80cdbf3320 ("e1000e: Warn if disabling ULP failed") > Signed-off-by: Aaron Ma <aaron.ma@canonical.com> > --- > drivers/net/ethernet/intel/e1000e/ich8lan.c | 1 - > 1 file changed, 1 deletion(-) I never did find a system that triggered the initial problem, but from a compatibility with the set of systems I do have working... Tested-by: Aaron Brown <aaron.f.brown@intel.com>
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c index f999cca37a8a..be7475c5529d 100644 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c @@ -303,7 +303,6 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) ret_val = e1000_disable_ulp_lpt_lp(hw, true); if (ret_val) { e_warn("Failed to disable ULP\n"); - goto out; } ret_val = hw->phy.ops.acquire(hw);
After 'commit e086ba2fccda4 ("e1000e: disable s0ix entry and exit flows for ME systems")', ThinkPad P14s always failed to disable ULP by ME. 'commit 0c80cdbf3320 ("e1000e: Warn if disabling ULP failed")' break out of init phy: error log: [ 42.364753] e1000e 0000:00:1f.6 enp0s31f6: Failed to disable ULP [ 42.524626] e1000e 0000:00:1f.6 enp0s31f6: PHY Wakeup cause - Unicast Packet [ 42.822476] e1000e 0000:00:1f.6 enp0s31f6: Hardware Error When disable s0ix, E1000_FWSM_ULP_CFG_DONE will never be 1. If continue to init phy like before, it can work as before. iperf test result good too. Fixes: 0c80cdbf3320 ("e1000e: Warn if disabling ULP failed") Signed-off-by: Aaron Ma <aaron.ma@canonical.com> --- drivers/net/ethernet/intel/e1000e/ich8lan.c | 1 - 1 file changed, 1 deletion(-)