diff options
| -rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_transport.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index 02a112c7cb6a..dd9440137834 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c | |||
| @@ -1180,6 +1180,9 @@ static void __svc_rdma_free(struct work_struct *work) | |||
| 1180 | 1180 | ||
| 1181 | dprintk("svcrdma: %s(%p)\n", __func__, rdma); | 1181 | dprintk("svcrdma: %s(%p)\n", __func__, rdma); |
| 1182 | 1182 | ||
| 1183 | if (rdma->sc_qp && !IS_ERR(rdma->sc_qp)) | ||
| 1184 | ib_drain_qp(rdma->sc_qp); | ||
| 1185 | |||
| 1183 | /* We should only be called from kref_put */ | 1186 | /* We should only be called from kref_put */ |
| 1184 | if (atomic_read(&xprt->xpt_ref.refcount) != 0) | 1187 | if (atomic_read(&xprt->xpt_ref.refcount) != 0) |
| 1185 | pr_err("svcrdma: sc_xprt still in use? (%d)\n", | 1188 | pr_err("svcrdma: sc_xprt still in use? (%d)\n", |
