RDMA/bnxt_re: Use separate response buffer for stat_ctx_free
authorEdwin Peer <edwin.peer@broadcom.com>
Wed, 15 Sep 2021 12:32:34 +0000 (05:32 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 20 Sep 2021 16:37:01 +0000 (13:37 -0300)
Use separate buffers for the request and response data. Eventhough the
response data is not used, providing the correct length is appropriate.

Link: https://lore.kernel.org/r/1631709163-2287-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/main.c

index 9abea36..2c2eeb0 100644 (file)
@@ -525,7 +525,8 @@ static int bnxt_re_net_stats_ctx_free(struct bnxt_re_dev *rdev,
                                      u32 fw_stats_ctx_id)
 {
        struct bnxt_en_dev *en_dev = rdev->en_dev;
-       struct hwrm_stat_ctx_free_input req = {0};
+       struct hwrm_stat_ctx_free_input req = {};
+       struct hwrm_stat_ctx_free_output resp = {};
        struct bnxt_fw_msg fw_msg;
        int rc = -EINVAL;
 
@@ -539,8 +540,8 @@ static int bnxt_re_net_stats_ctx_free(struct bnxt_re_dev *rdev,
 
        bnxt_re_init_hwrm_hdr(rdev, (void *)&req, HWRM_STAT_CTX_FREE, -1, -1);
        req.stat_ctx_id = cpu_to_le32(fw_stats_ctx_id);
-       bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&req,
-                           sizeof(req), DFLT_HWRM_CMD_TIMEOUT);
+       bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp,
+                           sizeof(resp), DFLT_HWRM_CMD_TIMEOUT);
        rc = en_dev->en_ops->bnxt_send_fw_msg(en_dev, BNXT_ROCE_ULP, &fw_msg);
        if (rc)
                ibdev_err(&rdev->ibdev, "Failed to free HW stats context %#x",