|
@@ -505,7 +505,7 @@ rpcrdma_ep_create(struct rpcrdma_ep *ep, struct rpcrdma_ia *ia,
|
|
|
pr_warn("rpcrdma: HCA provides only %d send SGEs\n", max_sge);
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
- ia->ri_max_send_sges = max_sge - RPCRDMA_MIN_SEND_SGES;
|
|
|
+ ia->ri_max_send_sges = max_sge;
|
|
|
|
|
|
if (ia->ri_device->attrs.max_qp_wr <= RPCRDMA_BACKWARD_WRS) {
|
|
|
dprintk("RPC: %s: insufficient wqe's available\n",
|
|
@@ -1502,6 +1502,9 @@ __rpcrdma_dma_map_regbuf(struct rpcrdma_ia *ia, struct rpcrdma_regbuf *rb)
|
|
|
static void
|
|
|
rpcrdma_dma_unmap_regbuf(struct rpcrdma_regbuf *rb)
|
|
|
{
|
|
|
+ if (!rb)
|
|
|
+ return;
|
|
|
+
|
|
|
if (!rpcrdma_regbuf_is_mapped(rb))
|
|
|
return;
|
|
|
|
|
@@ -1517,9 +1520,6 @@ rpcrdma_dma_unmap_regbuf(struct rpcrdma_regbuf *rb)
|
|
|
void
|
|
|
rpcrdma_free_regbuf(struct rpcrdma_regbuf *rb)
|
|
|
{
|
|
|
- if (!rb)
|
|
|
- return;
|
|
|
-
|
|
|
rpcrdma_dma_unmap_regbuf(rb);
|
|
|
kfree(rb);
|
|
|
}
|