]> git.droids-corp.org - dpdk.git/commitdiff
app/testpmd: fix port detach cleanup
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Fri, 12 Apr 2019 15:48:11 +0000 (15:48 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 19 Apr 2019 12:51:54 +0000 (14:51 +0200)
At port detach routine after calling the rte_dev_remove()
testpmd performs some cleanup, checking the statuses of
remaining ports and closes the appropriate ones. The port
scanning is based on the new sibling iterator which uses the
invalid (already closed) port for reference. This patch
replaces the foreach iterator and uses the device object for
reference. It is worth to note this cleanup is not needed
for some drivers (at least for mlx5 and probably for others)
and is preserved due to possible compatibility issues.

Fixes: 13302cd5bd63 ("app/testpmd: use port sibling iterator in device cleanup")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
app/test-pmd/testpmd.c

index d01165f3cd10ac423eca96c7a6286628705a261d..6fbfd29dd166ecf44711ad36c795bc571fa5cd2d 100644 (file)
@@ -2434,8 +2434,7 @@ detach_port_device(portid_t port_id)
                TESTPMD_LOG(ERR, "Failed to detach device %s\n", dev->name);
                return;
        }
-
-       RTE_ETH_FOREACH_DEV_SIBLING(sibling, port_id) {
+       RTE_ETH_FOREACH_DEV_OF(sibling, dev) {
                /* reset mapping between old ports and removed device */
                rte_eth_devices[sibling].device = NULL;
                if (ports[sibling].port_status != RTE_PORT_CLOSED) {