xprtrdma: Remap Receive buffers after a reconnect
authorChuck Lever <chuck.lever@oracle.com>
Mon, 3 Jul 2023 18:18:29 +0000 (14:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Aug 2023 14:10:57 +0000 (16:10 +0200)
commit26ea8668b8aae5f57068c2f442a28a8e420a759b
treea2a53e6e2dc314eefd1e79cfb7a9cb168f838974
parentd9aac9cdd6e2b4cf21dc91ad0803a7df2b177bac
xprtrdma: Remap Receive buffers after a reconnect

[ Upstream commit 895cedc1791916e8a98864f12b656702fad0bb67 ]

On server-initiated disconnect, rpcrdma_xprt_disconnect() was DMA-
unmapping the Receive buffers, but rpcrdma_post_recvs() neglected
to remap them after a new connection had been established. The
result was immediate failure of the new connection with the Receives
flushing with LOCAL_PROT_ERR.

Fixes: 671c450b6fe0 ("xprtrdma: Fix oops in Receive handler after device removal")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sunrpc/xprtrdma/verbs.c