net/iavf: fix queue start failed
Checks
Commit Message
In the iavf_dev_start function, if the first execution of
iavf_start_queues fails, it will still fail when it is started again.
The patch solves the problem of rolling back resources after the queue
fails to start, and then restarts successfully.
Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Cc: stable@dpdk.org
Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
---
drivers/net/iavf/iavf_ethdev.c | 1 +
1 file changed, 1 insertion(+)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Qiming Chen
> Sent: Monday, September 13, 2021 11:40 AM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> Qiming Chen <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/iavf: fix queue start failed
>
> In the iavf_dev_start function, if the first execution of iavf_start_queues fails, it
> will still fail when it is started again.
> The patch solves the problem of rolling back resources after the queue fails to
> start, and then restarts successfully.
>
> Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
> Cc: stable@dpdk.org
>
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> ---
> drivers/net/iavf/iavf_ethdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index 6ed2dbbcbe..9eca4b70ee 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -897,6 +897,7 @@ iavf_dev_start(struct rte_eth_dev *dev)
>
> err_mac:
> iavf_add_del_all_mac_addr(adapter, false);
> + iavf_stop_queues(dev);
This looks like not a good place to fix the issue, if iavf_start_queues failed, it it better all the resource be cleanup inside the function?
> err_queue:
> return -1;
> }
> --
> 2.30.1.windows.1
@@ -897,6 +897,7 @@ iavf_dev_start(struct rte_eth_dev *dev)
err_mac:
iavf_add_del_all_mac_addr(adapter, false);
+ iavf_stop_queues(dev);
err_queue:
return -1;
}