[PATCH v2] ethdev: fix dev close in secondary process

Min Hu (Connor) humin29 at huawei.com
Wed Jun 1 03:30:57 CEST 2022


From: Min Hu <humin29 at huawei.com>

Secondary process need to close dev to release process private resources.
But secondary process should not be obliged to wait for device stop before
closing ethdev.

This patch fixed it.

Fixes: febc855b358e ("ethdev: forbid closing started device")
Cc: stable at dpdk.org

Signed-off-by: Min Hu <humin29 at huawei.com>
---
v2:
* fixed comment.
---
 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 09abee6345..f34c6580a4 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -1574,7 +1574,8 @@ rte_eth_dev_close(uint16_t port_id)
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
 	dev = &rte_eth_devices[port_id];
 
-	if (dev->data->dev_started) {
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY &&
+			dev->data->dev_started) {
 		RTE_ETHDEV_LOG(ERR, "Cannot close started device (port %u)\n",
 			       port_id);
 		return -EINVAL;
-- 
2.33.0



More information about the dev mailing list