Skip to content

Commit 25b5d6f

Browse files
shirazsaleemjgunthorpe
authored andcommitted
RDMA/irdma: Report correct WC errors
Return IBV_WC_REM_OP_ERR for responder QP errors instead of IBV_WC_REM_ACCESS_ERR. Return IBV_WC_LOC_QP_OP_ERR for errors detected on the SQ with bad opcodes Fixes: 44d9e52 ("RDMA/irdma: Implement device initialization definitions") Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Shiraz Saleem <[email protected]> Signed-off-by: Jason Gunthorpe <[email protected]>
1 parent 117697c commit 25b5d6f

File tree

1 file changed

+4
-1
lines changed
  • drivers/infiniband/hw/irdma

1 file changed

+4
-1
lines changed

drivers/infiniband/hw/irdma/hw.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ static void irdma_set_flush_fields(struct irdma_sc_qp *qp,
146146
qp->flush_code = FLUSH_PROT_ERR;
147147
break;
148148
case IRDMA_AE_AMP_BAD_QP:
149+
case IRDMA_AE_WQE_UNEXPECTED_OPCODE:
149150
qp->flush_code = FLUSH_LOC_QP_OP_ERR;
150151
break;
151152
case IRDMA_AE_AMP_BAD_STAG_KEY:
@@ -156,7 +157,6 @@ static void irdma_set_flush_fields(struct irdma_sc_qp *qp,
156157
case IRDMA_AE_PRIV_OPERATION_DENIED:
157158
case IRDMA_AE_IB_INVALID_REQUEST:
158159
case IRDMA_AE_IB_REMOTE_ACCESS_ERROR:
159-
case IRDMA_AE_IB_REMOTE_OP_ERROR:
160160
qp->flush_code = FLUSH_REM_ACCESS_ERR;
161161
qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR;
162162
break;
@@ -184,6 +184,9 @@ static void irdma_set_flush_fields(struct irdma_sc_qp *qp,
184184
case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS:
185185
qp->flush_code = FLUSH_MW_BIND_ERR;
186186
break;
187+
case IRDMA_AE_IB_REMOTE_OP_ERROR:
188+
qp->flush_code = FLUSH_REM_OP_ERR;
189+
break;
187190
default:
188191
qp->flush_code = FLUSH_FATAL_ERR;
189192
break;

0 commit comments

Comments
 (0)