RDMA/efa: Fix success return value in case of error
authorGal Pressman <galpress@amazon.com>
Wed, 12 Jun 2019 07:28:41 +0000 (10:28 +0300)
committerDoug Ledford <dledford@redhat.com>
Tue, 18 Jun 2019 01:35:21 +0000 (21:35 -0400)
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 <firasj@amazon.com>
Reviewed-by: Yossi Leybovich <sleybo@amazon.com>
Signed-off-by: Gal Pressman <galpress@amazon.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/efa/efa_com_cmd.c

index 1422772..c001664 100644 (file)
@@ -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;
 }