[dpdk-dev] [PATCH] event/rx_adapter: fix ignore return of event start

Varghese, Vipin vipin.varghese at intel.com
Fri Feb 2 09:08:41 CET 2018



> -----Original Message-----
> From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> Sent: Wednesday, January 31, 2018 6:54 AM
> To: Rao, Nikhil <nikhil.rao at intel.com>
> Cc: Varghese, Vipin <vipin.varghese at intel.com>; dev at dpdk.org; Jacob, Jerin
> <Jerin.JacobKollanukkaran at cavium.com>; Van Haaren, Harry
> <harry.van.haaren at intel.com>; Hemant Agrawal <hemant.agrawal at nxp.com>;
> Jain, Deepak K <deepak.k.jain at intel.com>
> Subject: Re: [PATCH] event/rx_adapter: fix ignore return of event start
> 
> -----Original Message-----
> >
> >
> > Adding eventdev PMD folks for their suggestions on how to handle the return
> value from rte_event_dev_start() below.
> >
> > > -----Original Message-----
> > > From: Varghese, Vipin
> > > Sent: Wednesday, January 31, 2018 4:26 AM
> > > To: dev at dpdk.org; Rao, Nikhil <nikhil.rao at intel.com>
> > > Cc: Jain, Deepak K <deepak.k.jain at intel.com>; Varghese, Vipin
> > > <vipin.varghese at intel.com>
> > > Subject: [PATCH] event/rx_adapter: fix ignore return of event start
> > >
> > > Capture the return value for rte_event_dev_start. Return the result
> > > back to user.
> > >
> > > Coverity issue: 257000
> > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > Cc: nikhil.rao at intel.com
> > >
> > > Signed-off-by: Vipin Varghese <vipin.varghese at intel.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 90106e6..a818bef 100644
> > > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > @@ -603,7 +603,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > >  		RTE_EDEV_LOG_ERR("failed to configure event dev %u\n",
> > >  						dev_id);
> > >  		if (started)
> > > -			rte_event_dev_start(dev_id);
> > > +			ret = rte_event_dev_start(dev_id);
> >
> > Currently the a non-zero return value at this point signifies an error returned
> from rte_event_dev_configure(),  so I suggest that the return value is typecasted
> to void.
> 
> If I understand it correctly, Any one of the failure(configure() or start()) should
> result in bad state. Right?
> i.e If some reason PMD is not able to start() even after failure configuration()
> would result in bad state.
> If so, one option could be combine the error like ret |= operation or create a
> new logical error in Rx adapter which denotes this new error.
> 

So do we agree to ACK these changes to get the code fix to the mainline? Then rework the logic as required?

> >
> > >  		return ret;
> > >  	}
> > >
> > > @@ -617,7 +617,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > >  	conf->event_port_id = port_id;
> > >  	conf->max_nb_rx = 128;
> > >  	if (started)
> > > -		rte_event_dev_start(dev_id);
> > > +		ret = rte_event_dev_start(dev_id);
> > This change looks good to me.
> >
> > >  	rx_adapter->default_cb_arg = 1;
> > >  	return ret;
> > >  }
> > > --
> > > 1.9.1
> >


More information about the dev mailing list