DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: declan.doherty@intel.com, thomas@monjalon.net
Cc: dev@dpdk.org, Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [dpdk-dev] [PATCH 07/12] cryptodev: release device if PCI device probing fails
Date: Wed, 24 May 2017 16:27:09 +0100	[thread overview]
Message-ID: <1495639634-74846-8-git-send-email-pablo.de.lara.guarch@intel.com> (raw)
In-Reply-To: <1495639634-74846-1-git-send-email-pablo.de.lara.guarch@intel.com>

Call rte_cryptodev_pmd_release_device() if probing a
PCI crypto device, instead of accessing the variables
directly. This will be useful when rte_cryptodev_pci_probe()
gets moved to a separate file.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 lib/librte_cryptodev/rte_cryptodev.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index 2a84ee6..056ad56 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -540,9 +540,12 @@ rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev)
 	if (cryptodev == NULL)
 		return -EINVAL;
 
-	ret = rte_cryptodev_close(cryptodev->data->dev_id);
-	if (ret < 0)
-		return ret;
+	/* Close device only if device operations have been set */
+	if (cryptodev->dev_ops) {
+		ret = rte_cryptodev_close(cryptodev->data->dev_id);
+		if (ret < 0)
+			return ret;
+	}
 
 	cryptodev->attached = RTE_CRYPTODEV_DETACHED;
 	cryptodev_globals.nb_devs--;
@@ -603,8 +606,8 @@ rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,
 	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
 		rte_free(cryptodev->data->dev_private);
 
-	cryptodev->attached = RTE_CRYPTODEV_DETACHED;
-	cryptodev_globals.nb_devs--;
+	/* free crypto device */
+	rte_cryptodev_pmd_release_device(cryptodev);
 
 	return -ENXIO;
 }
-- 
2.7.4

  parent reply	other threads:[~2017-05-24 15:27 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-24 15:27 [dpdk-dev] [PATCH 00/12] Remove cryptodev driver Pablo de Lara
2017-05-24 15:27 ` [dpdk-dev] [PATCH 01/12] cryptodev: store device pointer in virtual devices Pablo de Lara
2017-06-20 14:34   ` Declan Doherty
2017-06-20 17:29     ` De Lara Guarch, Pablo
2017-05-24 15:27 ` [dpdk-dev] [PATCH 02/12] cryptodev: set driver name for all devices Pablo de Lara
2017-06-20 14:34   ` Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 03/12] cryptodev: rename device retrieval argument Pablo de Lara
2017-06-20 14:35   ` Declan Doherty
2017-06-20 17:28     ` De Lara Guarch, Pablo
2017-05-24 15:27 ` [dpdk-dev] [PATCH 04/12] cryptodev: simplify device list retrieval logic Pablo de Lara
2017-06-20 14:35   ` Declan Doherty
2017-06-20 17:29     ` De Lara Guarch, Pablo
2017-05-24 15:27 ` [dpdk-dev] [PATCH 05/12] cryptodev: only set PCI info when device is PCI Pablo de Lara
2017-06-20 14:36   ` Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 06/12] cryptodev: move vdev functions to a separate file Pablo de Lara
2017-06-20 14:36   ` Declan Doherty
2017-06-20 21:46     ` De Lara Guarch, Pablo
2017-05-24 15:27 ` Pablo de Lara [this message]
2017-06-20 14:36   ` [dpdk-dev] [PATCH 07/12] cryptodev: release device if PCI device probing fails Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 08/12] cryptodev: add PCI driver helpers Pablo de Lara
2017-06-20 14:37   ` Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 09/12] crypto/qat: do not use cryptodev driver Pablo de Lara
2017-06-20 14:37   ` Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 10/12] crypto/dpaa2_sec: " Pablo de Lara
2017-05-24 15:27 ` [dpdk-dev] [PATCH 11/12] cryptodev: remove unused PCI probe/remove Pablo de Lara
2017-06-20 14:37   ` Declan Doherty
2017-05-24 15:27 ` [dpdk-dev] [PATCH 12/12] cryptodev: remove unused cryptodev driver Pablo de Lara
2017-06-20 14:37   ` Declan Doherty
2017-06-07 22:54 ` [dpdk-dev] [PATCH 00/12] Remove " Gaëtan Rivet
2017-06-08 15:58   ` De Lara Guarch, Pablo
2017-06-09  9:58     ` Gaëtan Rivet
2017-06-09 10:01       ` De Lara Guarch, Pablo
2017-06-09 10:29         ` De Lara Guarch, Pablo
2017-06-21  6:28 ` [dpdk-dev] [PATCH v2 00/12] Remove cryptodev driver structure Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 01/12] cryptodev: store device pointer in virtual devices Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 02/12] cryptodev: set driver name for all devices Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 03/12] cryptodev: rename device retrieval argument Pablo de Lara
2017-06-23 12:54     ` Declan Doherty
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 04/12] cryptodev: simplify device list retrieval logic Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 05/12] cryptodev: only set PCI info when device is PCI Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 06/12] cryptodev: move vdev functions to a separate file Pablo de Lara
2017-06-23 12:52     ` Declan Doherty
2017-06-26 23:30       ` Thomas Monjalon
2017-06-27  9:51         ` De Lara Guarch, Pablo
2017-06-27 14:28           ` Thomas Monjalon
2017-06-27 15:11             ` Ferruh Yigit
2017-06-27 16:09               ` Thomas Monjalon
2017-06-27 17:11                 ` De Lara Guarch, Pablo
2017-06-27 22:22                   ` De Lara Guarch, Pablo
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 07/12] cryptodev: release device if PCI device probing fails Pablo de Lara
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 08/12] cryptodev: add PCI driver helpers Pablo de Lara
2017-06-29 21:21     ` Thomas Monjalon
2017-06-21  6:28   ` [dpdk-dev] [PATCH v2 09/12] crypto/qat: do not use cryptodev driver Pablo de Lara
2017-06-23 15:18   ` [dpdk-dev] [PATCH v2 00/12] Remove cryptodev driver structure De Lara Guarch, Pablo
2017-06-21  6:30 ` [dpdk-dev] [PATCH v2 10/12] crypto/dpaa2_sec: do not use cryptodev driver Pablo de Lara
2017-06-21  6:30 ` [dpdk-dev] [PATCH v2 11/12] cryptodev: remove unused PCI probe/remove Pablo de Lara
2017-06-21  6:30 ` [dpdk-dev] [PATCH v2 12/12] cryptodev: remove unused cryptodev driver Pablo de Lara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1495639634-74846-8-git-send-email-pablo.de.lara.guarch@intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).