2021-02-28 09:53:13

by Dinghao Liu

[permalink] [raw]
Subject: [PATCH] e1000e: Fix error handling in e1000_set_d0_lplu_state_82571

There is one e1e_wphy() call in e1000_set_d0_lplu_state_82571
that we have caught its return value but lack further handling.
Check and terminate the execution flow just like other e1e_wphy()
in this function.

Signed-off-by: Dinghao Liu <[email protected]>
---
drivers/net/ethernet/intel/e1000e/82571.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
index 88faf05e23ba..0b1e890dd583 100644
--- a/drivers/net/ethernet/intel/e1000e/82571.c
+++ b/drivers/net/ethernet/intel/e1000e/82571.c
@@ -899,6 +899,8 @@ static s32 e1000_set_d0_lplu_state_82571(struct e1000_hw *hw, bool active)
} else {
data &= ~IGP02E1000_PM_D0_LPLU;
ret_val = e1e_wphy(hw, IGP02E1000_PHY_POWER_MGMT, data);
+ if (ret_val)
+ return ret_val;
/* LPLU and SmartSpeed are mutually exclusive. LPLU is used
* during Dx states where the power conservation is most
* important. During driver activity we should enable
--
2.17.1


2021-03-08 08:45:04

by Sasha Neftin

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [PATCH] e1000e: Fix error handling in e1000_set_d0_lplu_state_82571

On 2/28/2021 11:44, Dinghao Liu wrote:
> There is one e1e_wphy() call in e1000_set_d0_lplu_state_82571
> that we have caught its return value but lack further handling.
> Check and terminate the execution flow just like other e1e_wphy()
> in this function.
>
> Signed-off-by: Dinghao Liu <[email protected]>
> ---
> drivers/net/ethernet/intel/e1000e/82571.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
> index 88faf05e23ba..0b1e890dd583 100644
> --- a/drivers/net/ethernet/intel/e1000e/82571.c
> +++ b/drivers/net/ethernet/intel/e1000e/82571.c
> @@ -899,6 +899,8 @@ static s32 e1000_set_d0_lplu_state_82571(struct e1000_hw *hw, bool active)
> } else {
> data &= ~IGP02E1000_PM_D0_LPLU;
> ret_val = e1e_wphy(hw, IGP02E1000_PHY_POWER_MGMT, data);
> + if (ret_val)
> + return ret_val;
> /* LPLU and SmartSpeed are mutually exclusive. LPLU is used
> * during Dx states where the power conservation is most
> * important. During driver activity we should enable
>
Good for me.
Acked-by: Sasha Neftin <[email protected]>

2021-03-09 07:05:00

by Fuxbrumer, Dvora

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [PATCH] e1000e: Fix error handling in e1000_set_d0_lplu_state_82571

On 28/02/2021 11:44, Dinghao Liu wrote:
> There is one e1e_wphy() call in e1000_set_d0_lplu_state_82571
> that we have caught its return value but lack further handling.
> Check and terminate the execution flow just like other e1e_wphy()
> in this function.
>
> Signed-off-by: Dinghao Liu <[email protected]>
> ---
> drivers/net/ethernet/intel/e1000e/82571.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
> index 88faf05e23ba..0b1e890dd583 100644
> --- a/drivers/net/ethernet/intel/e1000e/82571.c
> +++ b/drivers/net/ethernet/intel/e1000e/82571.c
> @@ -899,6 +899,8 @@ static s32 e1000_set_d0_lplu_state_82571(struct e1000_hw *hw, bool active)
> } else {
> data &= ~IGP02E1000_PM_D0_LPLU;
> ret_val = e1e_wphy(hw, IGP02E1000_PHY_POWER_MGMT, data);
> + if (ret_val)
> + return ret_val;
> /* LPLU and SmartSpeed are mutually exclusive. LPLU is used
> * during Dx states where the power conservation is most
> * important. During driver activity we should enable
>
Tested-by: Dvora Fuxbrumer <[email protected]>