> -----Original Message-----
> From: Jerin Jacob [mailto:jerin.ja...@caviumnetworks.com]
> Sent: Wednesday, January 31, 2018 6:54 AM
> To: Rao, Nikhil <nikhil....@intel.com>
> Cc: Varghese, Vipin <vipin.vargh...@intel.com>; dev@dpdk.org; Jacob, Jerin
> <jerin.jacobkollanukka...@cavium.com>; Van Haaren, Harry
> <harry.van.haa...@intel.com>; Hemant Agrawal <hemant.agra...@nxp.com>;
> Jain, Deepak K <deepak.k.j...@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@dpdk.org; Rao, Nikhil <nikhil....@intel.com>
> > > Cc: Jain, Deepak K <deepak.k.j...@intel.com>; Varghese, Vipin
> > > <vipin.vargh...@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....@intel.com
> > >
> > > Signed-off-by: Vipin Varghese <vipin.vargh...@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
> >

Reply via email to