On 4/7/22 22:30, Xiao Yang wrote: > Current rxe_requester() doesn't generate a completion when processing an > unsupported/invalid opcode. If rxe driver doesn't support a new opcode > (e.g. RDMA Atomic Write) and RDMA library supports it, an application > using the new opcode can reproduce this issue. Fix the issue by calling > "goto err;". > > Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxx> > --- > drivers/infiniband/sw/rxe/rxe_req.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_req.c b/drivers/infiniband/sw/rxe/rxe_req.c > index ae5fbc79dd5c..8a1cff80a68e 100644 > --- a/drivers/infiniband/sw/rxe/rxe_req.c > +++ b/drivers/infiniband/sw/rxe/rxe_req.c > @@ -661,7 +661,7 @@ int rxe_requester(void *arg) > opcode = next_opcode(qp, wqe, wqe->wr.opcode); > if (unlikely(opcode < 0)) { > wqe->status = IB_WC_LOC_QP_OP_ERR; > - goto exit; > + goto err; > } > > mask = rxe_opcode[opcode].mask; Much better! This looks correct. Reviewed-by: Bob Pearson <rpearsonhpe@xxxxxxxxx>