After removing rte_eth_devices from testpmd the vm_hotplug no longer recovered after removal of a device, this patch fixes this issue.
Fixes: 0a0821bcf312 ("app/testpmd: remove most uses of internal ethdev array") Signed-off-by: Paulis Gributs <paulis.grib...@intel.com> --- app/test-pmd/testpmd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 63da63eb3c..6cbe9ba3c8 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -3197,14 +3197,16 @@ rmv_port_callback(void *arg) stop_port(port_id); no_link_check = org_no_link_check; - close_port(port_id); ret = eth_dev_info_get_print_err(port_id, &dev_info); if (ret != 0) TESTPMD_LOG(ERR, "Failed to get device info for port %d, not detaching\n", port_id); - else - detach_device(dev_info.device); /* might be already removed or have more ports */ + else { + struct rte_device *device = dev_info.device; + close_port(port_id); + detach_device(device); /* might be already removed or have more ports */ + } if (need_to_start) start_packet_forwarding(0); } -- 2.25.1