Skip to content

Commit

Permalink
xprtrdma: Fix helper that drains the transport
Browse files Browse the repository at this point in the history
We want to drain only the RQ first. Otherwise the transport can
deadlock on ->close if there are outstanding Send completions.

Fixes: 6d2d0ee ("xprtrdma: Replace rpcrdma_receive_wq ... ")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: stable@vger.kernel.org # v5.0+
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
  • Loading branch information
chucklever authored and Trond Myklebust committed Apr 11, 2019
1 parent 29e7ca7 commit e1ede31
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/sunrpc/xprtrdma/verbs.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt)
/* Flush Receives, then wait for deferred Reply work
* to complete.
*/
ib_drain_qp(ia->ri_id->qp);
ib_drain_rq(ia->ri_id->qp);
drain_workqueue(buf->rb_completion_wq);

/* Deferred Reply processing might have scheduled
Expand Down

0 comments on commit e1ede31

Please sign in to comment.