[PATCH v2] eventdev/eth_tx: fix queue add logic
Jerin Jacob
jerinjacobk at gmail.com
Mon Feb 14 16:23:34 CET 2022
On Fri, Feb 11, 2022 at 10:03 PM Jayatheerthan, Jay
<jay.jayatheerthan at intel.com> wrote:
>
> Looks good. Thanks.
>
> Acked-by: Jay Jayatheerthan <jay.jayatheerthan at intel.com>
Applied to dpdk-next-net-eventdev/for-main. Thanks
>
> -Jay
>
>
>
> > -----Original Message-----
> > From: Naga Harish K, S V <s.v.naga.harish.k at intel.com>
> > Sent: Wednesday, February 9, 2022 11:02 AM
> > To: Jayatheerthan, Jay <jay.jayatheerthan at intel.com>; jerinj at marvell.com
> > Cc: dev at 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.harish.k at 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
>
More information about the dev
mailing list