SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send
The svcrdma transport can crash if a send is waiting for an
empty SQ slot and the connection is closed due to an asynchronous error.
The crash is caused when svc_rdma_send attempts to send on a deleted
QP.
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
                        wait_event(xprt->sc_send_wait,
                                   atomic_read(&xprt->sc_sq_count) <
                                   xprt->sc_sq_depth);
+                       if (test_bit(XPT_CLOSE, &xprt->sc_xprt.xpt_flags))
+                               return 0;
                        continue;
                }
                /* Bumped used SQ WR count and post */