On Mon, Mar 28, 2022 at 05:54:36PM +0800, Xiao Yang wrote: > Current rxe_requester() doesn't generate a completion on error after > getting a wqe. Fix the issue by calling "goto err;" instead. > > Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxx> > --- > drivers/infiniband/sw/rxe/rxe_req.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Don't you need to set wqe->status too to have complete fix? Thanks > > diff --git a/drivers/infiniband/sw/rxe/rxe_req.c b/drivers/infiniband/sw/rxe/rxe_req.c > index ae5fbc79dd5c..6f8dd2b3b817 100644 > --- a/drivers/infiniband/sw/rxe/rxe_req.c > +++ b/drivers/infiniband/sw/rxe/rxe_req.c > @@ -648,26 +648,26 @@ int rxe_requester(void *arg) > psn_compare(qp->req.psn, (qp->comp.psn + > RXE_MAX_UNACKED_PSNS)) > 0)) { > qp->req.wait_psn = 1; > - goto exit; > + goto err; > } > > /* Limit the number of inflight SKBs per QP */ > if (unlikely(atomic_read(&qp->skb_out) > > RXE_INFLIGHT_SKBS_PER_QP_HIGH)) { > qp->need_req_skb = 1; > - goto exit; > + goto err; > } > > 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; > if (unlikely(mask & RXE_READ_OR_ATOMIC_MASK)) { > if (check_init_depth(qp, wqe)) > - goto exit; > + goto err; > } > > mtu = get_mtu(qp); > -- > 2.23.0 > > >