Skip to content

Commit

Permalink
eventdev/eth_tx: fix queue add error code
Browse files Browse the repository at this point in the history
[ upstream commit bd0a32d ]

The internal function txa_service_queue_add() is returning 0
in case of error, correct this logic to return a negative value
to indicate failure.

Fixes: a3bbf2e ("eventdev: add eth Tx adapter implementation")

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
  • Loading branch information
svnagaha authored and bluca committed Feb 28, 2022
1 parent 40f2880 commit 5d76457
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions lib/librte_eventdev/rte_event_eth_tx_adapter.c
Expand Up @@ -760,10 +760,8 @@ txa_service_queue_add(uint8_t id,

rte_spinlock_lock(&txa->tx_lock);

if (txa_service_is_queue_added(txa, eth_dev, tx_queue_id)) {
rte_spinlock_unlock(&txa->tx_lock);
return 0;
}
if (txa_service_is_queue_added(txa, eth_dev, tx_queue_id))
goto ret_unlock;

ret = txa_service_queue_array_alloc(txa, eth_dev->data->port_id);
if (ret)
Expand All @@ -775,6 +773,8 @@ txa_service_queue_add(uint8_t id,

tdi = &txa->txa_ethdev[eth_dev->data->port_id];
tqi = txa_service_queue(txa, eth_dev->data->port_id, tx_queue_id);
if (tqi == NULL)
goto err_unlock;

txa_retry = &tqi->txa_retry;
txa_retry->id = txa->id;
Expand All @@ -790,6 +790,10 @@ txa_service_queue_add(uint8_t id,
tdi->nb_queues++;
txa->nb_queues++;

ret_unlock:
rte_spinlock_unlock(&txa->tx_lock);
return 0;

err_unlock:
if (txa->nb_queues == 0) {
txa_service_queue_array_free(txa,
Expand All @@ -798,7 +802,7 @@ txa_service_queue_add(uint8_t id,
}

rte_spinlock_unlock(&txa->tx_lock);
return 0;
return -1;
}

static int
Expand Down

0 comments on commit 5d76457

Please sign in to comment.