I found a number of crashers and other problems in and around the xprtrdma logic for managing the Receive Queue during connect and disconnect events. --- Chuck Lever (8): xprtrdma: Avoid Receive Queue wrapping xprtrdma: Do not post Receives after disconnect xprtrdma: Put flushed Receives on free list instead of destroying them xprtrdma: Improve locking around rpcrdma_rep destruction xprtrdma: Improve commentary around rpcrdma_reps_unmap() xprtrdma: Improve locking around rpcrdma_rep creation xprtrdma: Fix cwnd update ordering xprtrdma: Delete rpcrdma_recv_buffer_put() net/sunrpc/xprtrdma/backchannel.c | 4 +- net/sunrpc/xprtrdma/rpc_rdma.c | 7 +-- net/sunrpc/xprtrdma/verbs.c | 87 +++++++++++++++++++------------ net/sunrpc/xprtrdma/xprt_rdma.h | 4 +- 4 files changed, 64 insertions(+), 38 deletions(-) -- Chuck Lever