[PATCH v3 5/5] ethdev: fix dev state when stop

Ferruh Yigit ferruh.yigit at xilinx.com
Wed May 25 19:44:14 CEST 2022


On 5/3/2022 11:02 AM, Min Hu (Connor) wrote:
> Currently, 'dev_started' is always set to be 0 when dev stop, whether
> it succeeded or failed. This is unreasonable and this patch fixed it.
> 
> Fixes: 62024eb82756 ("ethdev: change stop operation callback to return int")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
>   lib/ethdev/rte_ethdev.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
> index 29a3d80466..e0011372aa 100644
> --- a/lib/ethdev/rte_ethdev.c
> +++ b/lib/ethdev/rte_ethdev.c
> @@ -1533,8 +1533,9 @@ rte_eth_dev_stop(uint16_t port_id)
>   	/* point fast-path functions to dummy ones */
>   	eth_dev_fp_ops_reset(rte_eth_fp_ops + port_id);
>   
> -	dev->data->dev_started = 0;
>   	ret = (*dev->dev_ops->dev_stop)(dev);
> +	if (ret == 0)
> +		dev->data->dev_started = 0;
>   	rte_ethdev_trace_stop(port_id, ret);
>   
>   	return ret;

Change looks good to me, I checked for possible unexpected side effect 
but I did not see any.

@Andrew, @Thomas, if you also don't see/remember any issue related 
change, I will push it soon.


More information about the stable mailing list