On Mon, May 23, 2022 at 05:32:52PM -0500, Bob Pearson wrote: > When a local operation (invalidate mr, reg mr, bind mw) is finished > there will be no ack packet coming from a responder to cause the > wqe to be completed. This may happen anyway if a subsequent wqe > performs IO. Currently if the wqe is signalled the completer > tasklet is scheduled immediately but not otherwise. > > This leads to a deadlock if the next wqe has the fence bit set in > send flags and the operation is not signalled. This patch removes > the condition that the wqe must be signalled in order to schedule > the completer tasklet which is the simplest fix for this deadlock > and is fairly low cost. This is the analog for local operations of > always setting the ackreq bit in all last or only request packets > even if the operation is not signalled. > > Reported-by: Jenny Hack <jhack@xxxxxxx> > Fixes: c1a411268a4b1 ("RDMA/rxe: Move local ops to subroutine") > Signed-off-by: Bob Pearson <rpearsonhpe@xxxxxxxxx> > --- > drivers/infiniband/sw/rxe/rxe_req.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) Applied to for-next, thanks Jason