> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Pavan Nikhilesh > Bhagavatula > Sent: Thursday, June 8, 2017 9:13 AM > To: dev@dpdk.org; Trahe, Fiona <fiona.tr...@intel.com> > Cc: Doherty, Declan <declan.dohe...@intel.com>; Pavan Nikhilesh > <pbhagavat...@caviumnetworks.com> > Subject: Re: [dpdk-dev] [PATCH] cryptodev: fix cryptodev start return value > > On Wed, Jun 07, 2017 at 03:54:23PM +0000, Trahe, Fiona wrote: > > Hi Pavan, > > > > > -----Original Message----- > > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Pavan > Nikhilesh > > > Sent: Wednesday, June 7, 2017 11:37 AM > > > To: dev@dpdk.org > > > Cc: Doherty, Declan <declan.dohe...@intel.com>; Pavan Nikhilesh > > > Bhagavatula <pbhagavat...@caviumnetworks.com> > > > Subject: [dpdk-dev] [PATCH] cryptodev: fix cryptodev start return > > > value > > > > > > From: Pavan Nikhilesh Bhagavatula > <pbhagavat...@caviumnetworks.com> > > > > > > If cryptodev has already started it should return -EBUSY instead of > > > 0 when rte_cryptodev_start is called. > > > > > > Fixes: d11b0f30df88 ("cryptodev: introduce API and framework for > > > crypto devices") > > > > > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > > > --- > > > lib/librte_cryptodev/rte_cryptodev.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/lib/librte_cryptodev/rte_cryptodev.c > > > b/lib/librte_cryptodev/rte_cryptodev.c > > > index b65cd9c..c815038 100644 > > > --- a/lib/librte_cryptodev/rte_cryptodev.c > > > +++ b/lib/librte_cryptodev/rte_cryptodev.c > > > @@ -1000,7 +1000,7 @@ rte_cryptodev_start(uint8_t dev_id) > > > if (dev->data->dev_started != 0) { > > > CDEV_LOG_ERR("Device with dev_id=%" PRIu8 " already > started", > > > dev_id); > > > - return 0; > > > + return -EBUSY; > > It makes sense to me to return 0/success in this case, as the end > > result is the same, the device is successfully started. > > But I don't feel strongly about it if there's a good argument for making the > change? > > I do agree with this but from an application perspective when the API is > called again after the device has already started (without calling the stop > API) it would mean that there is an underlying issue with the application's > business logic and it would go undetected, so I feel that we should strictly > enforce this scenario as an error. > > > However, as it is an API change doesn't it need to be flagged in a release > before the change is made? > > I don't think that this would be an API change as it doesn't deprecate the > existing ABI. > Any thoughts about this from the community are welcome as the same > issue affects multiple core libraries (crytodev, ethdev, eventdev).
Hi Pavan, As said by Fiona and Thomas (for ethdev), this is an API change, so it would require a deprecation notice, in order to be changed in the next release. Thanks, Pablo > > > > > > } > > > > > > diag = (*dev->dev_ops->dev_start)(dev); > > > -- > > > 2.7.4 > >