[dpdk-dev] [PATCH] net/ixgbe: do not return internal code in rte_eth_dev_reset

Zhang, Qi Z qi.z.zhang at intel.com
Mon Sep 3 14:54:38 CEST 2018



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Luca Boccassi
> Sent: Tuesday, August 21, 2018 7:07 PM
> To: dev at dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>
> Subject: [dpdk-dev] [PATCH] net/ixgbe: do not return internal code in
> rte_eth_dev_reset
> 
> In case of a temporary failure the ixgbe driver can return the internal error
> IXGBE_ERR_RESET_FAILED to the application. Instead, return -EAGAIN as per
> the public API specification.
> 
> Signed-off-by: Luca Boccassi <bluca at debian.org>
> ---
>  drivers/net/ixgbe/base/ixgbe_vf.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ixgbe/base/ixgbe_vf.c
> b/drivers/net/ixgbe/base/ixgbe_vf.c
> index 5b25a6b4d4..62f2bf2e7d 100644
> --- a/drivers/net/ixgbe/base/ixgbe_vf.c
> +++ b/drivers/net/ixgbe/base/ixgbe_vf.c
> @@ -203,8 +203,13 @@ s32 ixgbe_reset_hw_vf(struct ixgbe_hw *hw)
>  		usec_delay(5);
>  	}
> 
> +	/*
> +	 * This error code will be propagated to the app by rte_eth_dev_reset,
> +	 * so use a public error code rather than the internal-only
> +	 * IXGBE_ERR_RESET_FAILED
> +	 */
>  	if (!timeout)
> -		return IXGBE_ERR_RESET_FAILED;
> +		return -EAGAIN;

I think it's better not to change this in base code which are assumed to only return IXGBE_ERR_xxx
And also this is not the only place in ixgbe_reset_hw_vf that will propagated the internal error.
Why not convert it in "eth_ixgbevf_dev_init" which looks like a right place?


> 
>  	/* Reset VF registers to initial values */
>  	ixgbe_virt_clr_reg(hw);
> --
> 2.18.0



More information about the dev mailing list