cryptodev: release device if PCI probing fails
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> Acked-by: Declan Doherty <declan.doherty@intel.com>
This commit is contained in:
parent
63348b9d1c
commit
d0b316ad6d
@ -541,9 +541,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--;
|
||||
@ -604,8 +607,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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user