Looks good. Thanks. Acked-by: Jay Jayatheerthan <jay.jayatheert...@intel.com>
-Jay > -----Original Message----- > From: Naga Harish K, S V <s.v.naga.haris...@intel.com> > Sent: Wednesday, February 9, 2022 11:02 AM > To: Jayatheerthan, Jay <jay.jayatheert...@intel.com>; jer...@marvell.com > Cc: dev@dpdk.org > Subject: [PATCH v2] eventdev/eth_tx: fix queue add logic > > 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: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") > > Signed-off-by: Naga Harish K S V <s.v.naga.haris...@intel.com> > > --- > v2: > * adjust commit message line size > --- > lib/eventdev/rte_event_eth_tx_adapter.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c > b/lib/eventdev/rte_event_eth_tx_adapter.c > index c17f33f098..1b304f0a73 100644 > --- a/lib/eventdev/rte_event_eth_tx_adapter.c > +++ b/lib/eventdev/rte_event_eth_tx_adapter.c > @@ -806,10 +806,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) > @@ -821,6 +819,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; > @@ -836,6 +836,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, > @@ -844,7 +848,7 @@ txa_service_queue_add(uint8_t id, > } > > rte_spinlock_unlock(&txa->tx_lock); > - return 0; > + return -1; > } > > static int > -- > 2.23.0