From 529254340c7f16d59b928e36568597c603bae917 Mon Sep 17 00:00:00 2001 From: Gal Pressman Date: Wed, 12 Jun 2019 10:28:41 +0300 Subject: [PATCH] RDMA/efa: Fix success return value in case of error Existing code would mistakenly return success in case of error instead of a proper return value. Fixes: e9c6c5373088 ("RDMA/efa: Add common command handlers") Reviewed-by: Firas JahJah Reviewed-by: Yossi Leybovich Signed-off-by: Gal Pressman Signed-off-by: Doug Ledford --- drivers/infiniband/hw/efa/efa_com_cmd.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/infiniband/hw/efa/efa_com_cmd.c b/drivers/infiniband/hw/efa/efa_com_cmd.c index 14227725521c..c0016648804c 100644 --- a/drivers/infiniband/hw/efa/efa_com_cmd.c +++ b/drivers/infiniband/hw/efa/efa_com_cmd.c @@ -139,9 +139,11 @@ int efa_com_destroy_qp(struct efa_com_dev *edev, sizeof(qp_cmd), (struct efa_admin_acq_entry *)&cmd_completion, sizeof(cmd_completion)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to destroy qp-%u [%d]\n", qp_cmd.qp_handle, err); + return err; + } return 0; } @@ -199,9 +201,11 @@ int efa_com_destroy_cq(struct efa_com_dev *edev, (struct efa_admin_acq_entry *)&destroy_resp, sizeof(destroy_resp)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to destroy CQ-%u [%d]\n", params->cq_idx, err); + return err; + } return 0; } @@ -273,10 +277,12 @@ int efa_com_dereg_mr(struct efa_com_dev *edev, sizeof(mr_cmd), (struct efa_admin_acq_entry *)&cmd_completion, sizeof(cmd_completion)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to de-register mr(lkey-%u) [%d]\n", mr_cmd.l_key, err); + return err; + } return 0; } @@ -327,9 +333,11 @@ int efa_com_destroy_ah(struct efa_com_dev *edev, sizeof(ah_cmd), (struct efa_admin_acq_entry *)&cmd_completion, sizeof(cmd_completion)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to destroy ah-%d pd-%d [%d]\n", ah_cmd.ah, ah_cmd.pd, err); + return err; + } return 0; } @@ -387,10 +395,12 @@ static int efa_com_get_feature_ex(struct efa_com_dev *edev, get_resp, sizeof(*get_resp)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to submit get_feature command %d [%d]\n", feature_id, err); + return err; + } return 0; } @@ -534,10 +544,12 @@ static int efa_com_set_feature_ex(struct efa_com_dev *edev, (struct efa_admin_acq_entry *)set_resp, sizeof(*set_resp)); - if (err) + if (err) { ibdev_err(edev->efa_dev, "Failed to submit set_feature command %d error: %d\n", feature_id, err); + return err; + } return 0; }