ethdev: fix port state when stop

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: 62024eb827 ("ethdev: change stop operation callback to return int")
Cc: stable@dpdk.org

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
This commit is contained in:
Min Hu (Connor) 2022-05-03 18:02:17 +08:00 committed by Ferruh Yigit
parent 10c4c4d4ea
commit 74b7426997

View File

@ -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;