In case of a probing failure caused by wrong devarg provided,
login isn't destroyed when exiting.

Destroy login on failure.

Fixes: ba707cdb6da2 ("crypto/mlx5: fix queue size configuration")

Signed-off-by: Raja Zidane <rzid...@nvidia.com>
Acked-by: Matan Azrad <ma...@nvidia.com>
---
 drivers/crypto/mlx5/mlx5_crypto.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/crypto/mlx5/mlx5_crypto.c 
b/drivers/crypto/mlx5/mlx5_crypto.c
index e14f867797..d0901f3b7c 100644
--- a/drivers/crypto/mlx5/mlx5_crypto.c
+++ b/drivers/crypto/mlx5/mlx5_crypto.c
@@ -947,6 +947,7 @@ mlx5_crypto_dev_probe(struct mlx5_common_device *cdev,
        ret = mlx5_crypto_configure_wqe_size(priv,
                cdev->config.hca_attr.max_wqe_sz_sq, devarg_prms.max_segs_num);
        if (ret) {
+               claim_zero(mlx5_devx_cmd_destroy(priv->login_obj));
                mlx5_devx_uar_release(&priv->uar);
                rte_cryptodev_pmd_destroy(priv->crypto_dev);
                return -1;
-- 
2.21.0

Reply via email to