Do as other ULPs already do: ensure there is an extra Receive WQE
reserved for the tear-down drain WR. I haven't heard reports of
problems but it can't hurt.
Note that rq_depth is used to compute the Send Queue depth as well,
so this fix should affect both the SQ and RQ.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
        if (newxprt->sc_max_send_sges > dev->attrs.max_send_sge)
                newxprt->sc_max_send_sges = dev->attrs.max_send_sge;
        rq_depth = newxprt->sc_max_requests + newxprt->sc_max_bc_requests +
-                  newxprt->sc_recv_batch;
+                  newxprt->sc_recv_batch + 1 /* drain */;
        if (rq_depth > dev->attrs.max_qp_wr) {
                rq_depth = dev->attrs.max_qp_wr;
                newxprt->sc_recv_batch = 1;