diff mbox series

[for-rc,1/2] RDMA/irdma: Fix op_type reporting in CQEs

Message ID 20230725155439.1057-1-shiraz.saleem@intel.com (mailing list archive)
State Accepted
Headers show
Series [for-rc,1/2] RDMA/irdma: Fix op_type reporting in CQEs | expand

Commit Message

Shiraz Saleem July 25, 2023, 3:54 p.m. UTC
From: Sindhu Devale <sindhu.devale@intel.com>

The op_type field CQ poll info structure is incorrectly
filled in with the queue type as opposed to the op_type
received in the CQEs. The wrong opcode could be decoded
and returned to the ULP.

Copy the op_type field received in the CQE in the CQ poll
info structure.

Fixes: 24419777e943 ("RDMA/irdma: Fix RQ completion opcode")
Signed-off-by: Sindhu Devale <sindhu.devale@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
---
 drivers/infiniband/hw/irdma/uk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Leon Romanovsky July 26, 2023, 11:59 a.m. UTC | #1
On Tue, 25 Jul 2023 10:54:37 -0500, Shiraz Saleem wrote:
> The op_type field CQ poll info structure is incorrectly
> filled in with the queue type as opposed to the op_type
> received in the CQEs. The wrong opcode could be decoded
> and returned to the ULP.
> 
> Copy the op_type field received in the CQE in the CQ poll
> info structure.
> 
> [...]

Applied, thanks!

[1/2] RDMA/irdma: Fix op_type reporting in CQEs
      https://git.kernel.org/rdma/rdma/c/3bfb25fa2b5bb9
[2/2] RDMA/irdma: Report correct WC error
      https://git.kernel.org/rdma/rdma/c/ae463563b7a1b7

Best regards,
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/irdma/uk.c b/drivers/infiniband/hw/irdma/uk.c
index ea2c07751245..280d633d4ec4 100644
--- a/drivers/infiniband/hw/irdma/uk.c
+++ b/drivers/infiniband/hw/irdma/uk.c
@@ -1161,7 +1161,7 @@  int irdma_uk_cq_poll_cmpl(struct irdma_cq_uk *cq,
 	}
 	wqe_idx = (u32)FIELD_GET(IRDMA_CQ_WQEIDX, qword3);
 	info->qp_handle = (irdma_qp_handle)(unsigned long)qp;
-	info->op_type = (u8)FIELD_GET(IRDMA_CQ_SQ, qword3);
+	info->op_type = (u8)FIELD_GET(IRDMACQ_OP, qword3);
 
 	if (info->q_type == IRDMA_CQE_QTYPE_RQ) {
 		u32 array_idx;