crypto/mlx5: fix login cleanup

Message ID 20220418110516.2105-1-rzidane@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series crypto/mlx5: fix login cleanup |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/github-robot: build success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance fail Performance Testing issues

Commit Message

Raja Zidane April 18, 2022, 11:05 a.m. UTC
  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 <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/crypto/mlx5/mlx5_crypto.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Akhil Goyal April 28, 2022, 10:14 a.m. UTC | #1
> 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 <rzidane@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
Cc: stable@dpdk.org

Applied to dpdk-next-crypto

Thanks.
  

Patch

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;