From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 6CF9BC3C2 for ; Thu, 18 Feb 2016 16:42:29 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 18 Feb 2016 07:42:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,466,1449561600"; d="scan'208";a="915846965" Received: from dwdohert-dpdk.ir.intel.com ([163.33.210.69]) by orsmga002.jf.intel.com with ESMTP; 18 Feb 2016 07:42:03 -0800 To: Pablo de Lara , dev@dpdk.org References: <1455554704-12435-1-git-send-email-pablo.de.lara.guarch@intel.com> From: Declan Doherty Message-ID: <56C5E5B4.2090007@intel.com> Date: Thu, 18 Feb 2016 15:39:32 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <1455554704-12435-1-git-send-email-pablo.de.lara.guarch@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] aesni_mb: fix wrong return value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 15:42:30 -0000 On 15/02/16 16:45, Pablo de Lara wrote: > cryptodev_aesni_mb_init was returning the device id of > the device just created, but rte_eal_vdev_init > (the function that calls the first one), was expecting 0 or > negative value. > This made impossible to create more than one aesni_mb device > from command line. > > Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto") > > Signed-off-by: Pablo de Lara > --- > app/test/test_cryptodev.c | 7 ++++--- > app/test/test_cryptodev_perf.c | 5 +++-- > doc/guides/rel_notes/release_16_04.rst | 6 ++++++ > drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 2 +- > examples/l2fwd-crypto/main.c | 4 ++-- > 5 files changed, 16 insertions(+), 8 deletions(-) > > diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c > index fd5b7ec..62f8fb0 100644 > --- a/app/test/test_cryptodev.c > +++ b/app/test/test_cryptodev.c > @@ -143,7 +143,8 @@ testsuite_setup(void) > { > struct crypto_testsuite_params *ts_params = &testsuite_params; > struct rte_cryptodev_info info; > - unsigned i, nb_devs, dev_id = 0; > + unsigned i, nb_devs, dev_id; > + int ret; > uint16_t qp_id; > > memset(ts_params, 0, sizeof(*ts_params)); > @@ -177,10 +178,10 @@ testsuite_setup(void) > RTE_CRYPTODEV_AESNI_MB_PMD); > if (nb_devs < 2) { > for (i = nb_devs; i < 2; i++) { > - int dev_id = rte_eal_vdev_init( > + ret = rte_eal_vdev_init( > CRYPTODEV_NAME_AESNI_MB_PMD, NULL); > > - TEST_ASSERT(dev_id >= 0, > + TEST_ASSERT(ret == 0, > "Failed to create instance %u of" > " pmd : %s", > i, CRYPTODEV_NAME_AESNI_MB_PMD); > diff --git a/app/test/test_cryptodev_perf.c b/app/test/test_cryptodev_perf.c > index 1744e13..728bcf0 100644 > --- a/app/test/test_cryptodev_perf.c > +++ b/app/test/test_cryptodev_perf.c > @@ -107,6 +107,7 @@ testsuite_setup(void) > struct crypto_testsuite_params *ts_params = &testsuite_params; > struct rte_cryptodev_info info; > unsigned i, nb_devs, valid_dev_id = 0; > + int ret; > uint16_t qp_id; > > ts_params->mbuf_mp = rte_mempool_lookup("CRYPTO_PERF_MBUFPOOL"); > @@ -138,10 +139,10 @@ testsuite_setup(void) > nb_devs = rte_cryptodev_count_devtype(RTE_CRYPTODEV_AESNI_MB_PMD); > if (nb_devs < 2) { > for (i = nb_devs; i < 2; i++) { > - int dev_id = rte_eal_vdev_init( > + ret = rte_eal_vdev_init( > CRYPTODEV_NAME_AESNI_MB_PMD, NULL); > > - TEST_ASSERT(dev_id >= 0, > + TEST_ASSERT(ret == 0, > "Failed to create instance %u of pmd : %s", > i, CRYPTODEV_NAME_AESNI_MB_PMD); > } > diff --git a/doc/guides/rel_notes/release_16_04.rst b/doc/guides/rel_notes/release_16_04.rst > index 27fc624..123a6fd 100644 > --- a/doc/guides/rel_notes/release_16_04.rst > +++ b/doc/guides/rel_notes/release_16_04.rst > @@ -59,6 +59,12 @@ EAL > Drivers > ~~~~~~~ > > +* **aesni_mb: Fixed wrong return value when creating a device.** > + > + cryptodev_aesni_mb_init() was returning the device id of the device created, > + instead of 0 (when success), that rte_eal_vdev_init() expects. > + This made impossible the creation of more than one aesni_mb device > + from command line. > > Libraries > ~~~~~~~~~ > diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c > index 2ede7c1..a655ed8 100644 > --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c > +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c > @@ -628,7 +628,7 @@ cryptodev_aesni_mb_create(const char *name, unsigned socket_id) > internals->max_nb_queue_pairs = RTE_AESNI_MB_PMD_MAX_NB_QUEUE_PAIRS; > internals->max_nb_sessions = RTE_AESNI_MB_PMD_MAX_NB_SESSIONS; > > - return dev->data->dev_id; > + return 0; > init_error: > MB_LOG_ERR("driver %s: cryptodev_aesni_create failed", name); > > diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c > index d70fc9a..3f53e4e 100644 > --- a/examples/l2fwd-crypto/main.c > +++ b/examples/l2fwd-crypto/main.c > @@ -1178,9 +1178,9 @@ initialize_cryptodevs(struct l2fwd_crypto_options *options, unsigned nb_ports) > return -1; > } else if (options->cdev_type == RTE_CRYPTODEV_AESNI_MB_PMD) { > for (i = 0; i < nb_ports; i++) { > - int id = rte_eal_vdev_init(CRYPTODEV_NAME_AESNI_MB_PMD, > + int retval = rte_eal_vdev_init(CRYPTODEV_NAME_AESNI_MB_PMD, > NULL); > - if (id < 0) > + if (retval < 0) > return -1; > } > } > Acked-by: Declan Doherty