net/mvpp2: fix non-EAL thread support

Caught by code inspection, for a non-EAL thread identified with
rte_lcore_id() == LCORE_ID_ANY, the code currently arbitrarily uses
lcore 0 while there is no guarantee this lcore is used.

Fixes: 3588aaa68eab ("net/mrvl: fix HIF objects allocation")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Liron Himi <lironh@marvell.com>
This commit is contained in:
David Marchand 2020-06-16 11:47:00 +02:00 committed by Ferruh Yigit
parent b10231aed1
commit b52d25ae4b

View File

@ -816,7 +816,7 @@ mrvl_flush_bpool(struct rte_eth_dev *dev)
unsigned int core_id = rte_lcore_id();
if (core_id == LCORE_ID_ANY)
core_id = 0;
core_id = rte_get_master_lcore();
hif = mrvl_get_hif(priv, core_id);
@ -1620,7 +1620,7 @@ mrvl_fill_bpool(struct mrvl_rxq *rxq, int num)
core_id = rte_lcore_id();
if (core_id == LCORE_ID_ANY)
core_id = 0;
core_id = rte_get_master_lcore();
hif = mrvl_get_hif(rxq->priv, core_id);
if (!hif)
@ -1770,7 +1770,7 @@ mrvl_rx_queue_release(void *rxq)
unsigned int core_id = rte_lcore_id();
if (core_id == LCORE_ID_ANY)
core_id = 0;
core_id = rte_get_master_lcore();
if (!q)
return;