From: Gage Eads Date: Tue, 26 Feb 2019 16:04:37 +0000 (-0600) Subject: app/pdump: remove only created vdevs X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=499ca6161007d95d6727c4236b53fe8036efda00;p=dpdk.git app/pdump: remove only created vdevs This commit fixes a bug in which a unidirectional pdump could attempt to remove devices it didn't create. Fixes: 35cb223ab7be ("app/pdump: fix vdev cleanup") Cc: stable@dpdk.org Signed-off-by: Gage Eads Acked-by: Reshma Pattan --- diff --git a/app/pdump/main.c b/app/pdump/main.c index 5e183ea901..ccf2a1d2f7 100644 --- a/app/pdump/main.c +++ b/app/pdump/main.c @@ -512,12 +512,19 @@ cleanup_pdump_resources(void) if (pt->dir & RTE_PDUMP_FLAG_TX) free_ring_data(pt->tx_ring, pt->tx_vdev_id, &pt->stats); - /* Remove the vdev created */ - rte_eth_dev_get_name_by_port(pt->rx_vdev_id, name); - rte_eal_hotplug_remove("vdev", name); + /* Remove the vdev(s) created */ + if (pt->dir & RTE_PDUMP_FLAG_RX) { + rte_eth_dev_get_name_by_port(pt->rx_vdev_id, name); + rte_eal_hotplug_remove("vdev", name); + } + + if (pt->single_pdump_dev) + continue; - rte_eth_dev_get_name_by_port(pt->tx_vdev_id, name); - rte_eal_hotplug_remove("vdev", name); + if (pt->dir & RTE_PDUMP_FLAG_TX) { + rte_eth_dev_get_name_by_port(pt->tx_vdev_id, name); + rte_eal_hotplug_remove("vdev", name); + } } cleanup_rings();