[dpdk-dev] [PATCH] net/e1000: fix write NVM srwr alwayes return success

Wang, Haiyue haiyue.wang at intel.com
Wed Apr 21 08:56:14 CEST 2021


> -----Original Message-----
> From: Min Hu (Connor) <humin29 at huawei.com>
> Sent: Wednesday, April 21, 2021 14:22
> To: dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; Guo, Jia <jia.guo at intel.com>; Wang, Haiyue
> <haiyue.wang at intel.com>
> Subject: [PATCH] net/e1000: fix write NVM srwr alwayes return success
> 
> From: Chengwen Feng <fengchengwen at huawei.com>
> 
> This patch fixes e1000_write_nvm_srwr() alwayes return success.

This commit message seems not so correct, it should be like:

This fixes the timed out for shadow RAM write EEWR can't be detected.

> 
> Fixes: 5a32a257f957 ("e1000: more NICs in base driver")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
>  drivers/net/e1000/base/e1000_i210.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/e1000/base/e1000_i210.c b/drivers/net/e1000/base/e1000_i210.c
> index 3c349d3..615e7c9 100644
> --- a/drivers/net/e1000/base/e1000_i210.c
> +++ b/drivers/net/e1000/base/e1000_i210.c
> @@ -310,6 +310,8 @@ STATIC s32 e1000_write_nvm_srwr(struct e1000_hw *hw, u16 offset, u16 words,
>  	}
> 
>  	for (i = 0; i < words; i++) {
> +		ret_val = E1000_ERR_NVM;

Should be "-E1000_ERR_NVM" as the below used:

	if ((offset >= nvm->word_size) || (words > (nvm->word_size - offset)) ||
	    (words == 0)) {
		DEBUGOUT("nvm parameter(s) out of bounds\n");
		ret_val = -E1000_ERR_NVM; <---
		goto out;
	}

> +
>  		eewr = ((offset + i) << E1000_NVM_RW_ADDR_SHIFT) |
>  			(data[i] << E1000_NVM_RW_REG_DATA) |
>  			E1000_NVM_RW_REG_START;
> --
> 2.7.4



More information about the dev mailing list