[dpdk-stable] [PATCH 17.11] eventdev: fix eth Rx adapter hotplug incompatibility
Nikhil Rao
nikhil.rao at intel.com
Thu Jan 17 06:12:53 CET 2019
[ backported from upstream commit d7b5f102c4781bd2e9a952243eb59cffe135b01c ]
Use RTE_MAX_ETHPORTS instead of rte_eth_dev_count_total()
when allocating eth Rx adapter's per-eth device data structure
to account for hotplugged devices.
Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
Cc: stable at dpdk.org
Signed-off-by: Nikhil Rao <nikhil.rao at intel.com>
Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
---
lib/librte_eventdev/rte_event_eth_rx_adapter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
index de4cf73..3688b8e 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
@@ -900,7 +900,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
rx_adapter->conf_arg = conf_arg;
strcpy(rx_adapter->mem_name, mem_name);
rx_adapter->eth_devices = rte_zmalloc_socket(rx_adapter->mem_name,
- rte_eth_dev_count() *
+ RTE_MAX_ETHPORTS *
sizeof(struct eth_device_info), 0,
socket_id);
rte_convert_rss_key((const uint32_t *)default_rss_key,
@@ -913,7 +913,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
return -ENOMEM;
}
rte_spinlock_init(&rx_adapter->rx_lock);
- for (i = 0; i < rte_eth_dev_count(); i++)
+ for (i = 0; i < RTE_MAX_ETHPORTS; i++)
rx_adapter->eth_devices[i].dev = &rte_eth_devices[i];
event_eth_rx_adapter[id] = rx_adapter;
--
1.8.3.1
More information about the stable
mailing list