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 <[email protected]>
---
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