summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2020-04-19 20:03:00 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2020-04-20 10:41:00 -0400
commit58bd6656f808c5a8efbe903af3c013595935d50d (patch)
tree5db31d337de31ce00244c4de43d5fed907712dcf
parentae83d0b416db002fe95601e7f97f64b59514d936 (diff)
downloadlinux-stable-58bd6656f808c5a8efbe903af3c013595935d50d.tar.gz
linux-stable-58bd6656f808c5a8efbe903af3c013595935d50d.tar.bz2
linux-stable-58bd6656f808c5a8efbe903af3c013595935d50d.zip
xprtrdma: Restore wake-up-all to rpcrdma_cm_event_handler()
Commit e28ce90083f0 ("xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt") erroneously removed a xprt_force_disconnect() call from the "transport disconnect" path. The result was that the client no longer responded to server-side disconnect requests. Restore that call. Fixes: e28ce90083f0 ("xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
-rw-r--r--net/sunrpc/xprtrdma/verbs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index cdd84c09df10..29ae982d69cf 100644
--- a/net/sunrpc/xprtrdma/verbs.c
+++ b/net/sunrpc/xprtrdma/verbs.c
@@ -289,6 +289,7 @@ rpcrdma_cm_event_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
case RDMA_CM_EVENT_DISCONNECTED:
ep->re_connect_status = -ECONNABORTED;
disconnected:
+ xprt_force_disconnect(xprt);
return rpcrdma_ep_destroy(ep);
default:
break;