When removing a rte_device on a port-based request,
all the sibling ports must be marked as closed.
The iterator loop can be simplified by using the dedicated macro.

Signed-off-by: Thomas Monjalon <tho...@monjalon.net>
---
 app/test-pmd/testpmd.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 40c873b97..aeaa74c98 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2370,9 +2370,7 @@ detach_port_device(portid_t port_id)
                return;
        }
 
-       for (sibling = 0; sibling < RTE_MAX_ETHPORTS; sibling++) {
-               if (rte_eth_devices[sibling].device != dev)
-                       continue;
+       RTE_ETH_FOREACH_DEV_SIBLING(sibling, port_id) {
                /* reset mapping between old ports and removed device */
                rte_eth_devices[sibling].device = NULL;
                if (ports[sibling].port_status != RTE_PORT_CLOSED) {
-- 
2.21.0

Reply via email to