common/qat: fix failure to create PMD

If QAT crypto pmd failed to be created due to reaching MAX
cryptodevs it prevented QAT comp PMD being created. And vice versa.
Change to warning in these cases and allow the other PMD to be created.

Fixes: c0c90bc4cade ("compress/qat: add create and destroy functions")
Cc: stable@dpdk.org

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Tomasz Cel <tomaszx.cel@intel.com>
This commit is contained in:
Fiona Trahe 2018-10-11 18:14:05 +01:00 committed by Akhil Goyal
parent 3f1d382ca3
commit 8451f04d02

View File

@ -196,6 +196,7 @@ static int qat_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
struct rte_pci_device *pci_dev)
{
int ret = 0;
int num_pmds_created = 0;
struct qat_pci_device *qat_pci_dev;
QAT_LOG(DEBUG, "Found QAT device at %02x:%02x.%x",
@ -208,23 +209,33 @@ static int qat_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
return -ENODEV;
ret = qat_sym_dev_create(qat_pci_dev);
if (ret != 0)
goto error_out;
if (ret == 0)
num_pmds_created++;
else
QAT_LOG(WARNING,
"Failed to create QAT SYM PMD on device %s",
qat_pci_dev->name);
ret = qat_comp_dev_create(qat_pci_dev);
if (ret != 0)
goto error_out;
if (ret == 0)
num_pmds_created++;
else
QAT_LOG(WARNING,
"Failed to create QAT COMP PMD on device %s",
qat_pci_dev->name);
ret = qat_asym_dev_create(qat_pci_dev);
if (ret != 0)
goto error_out;
if (ret == 0)
num_pmds_created++;
else
QAT_LOG(WARNING,
"Failed to create QAT ASYM PMD on device %s",
qat_pci_dev->name);
if (num_pmds_created == 0)
qat_pci_dev_destroy(qat_pci_dev, pci_dev);
return 0;
error_out:
qat_pci_dev_destroy(qat_pci_dev, pci_dev);
return ret;
}
static int qat_pci_remove(struct rte_pci_device *pci_dev)