2009-06-25 08:35:44

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH] svcrdma: fix error handling of rdma_alloc_frmr()

ib_alloc_fast_reg_mr() and ib_alloc_fast_reg_page_list() returns
ERR_PTR() and not NULL. Compile tested only.

Signed-off-by: Wei Yongjun <[email protected]>
---
net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index 5151f9f..0cf5e8c 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
@@ -730,12 +730,12 @@ static struct svc_rdma_fastreg_mr *rdma_alloc_frmr(struct svcxprt_rdma *xprt)
goto err;

mr = ib_alloc_fast_reg_mr(xprt->sc_pd, RPCSVC_MAXPAGES);
- if (!mr)
+ if (IS_ERR(mr))
goto err_free_frmr;

pl = ib_alloc_fast_reg_page_list(xprt->sc_cm_id->device,
RPCSVC_MAXPAGES);
- if (!pl)
+ if (IS_ERR(pl))
goto err_free_mr;

frmr->mr = mr;
--
1.6.2.2


2009-06-29 14:55:23

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] svcrdma: fix error handling of rdma_alloc_frmr()

Thanks, queued up for 2.6.31. Looks obvious correct, but runtime
testing from anyone would always be appreciated.

--b.

On Thu, Jun 25, 2009 at 04:35:44PM +0800, Wei Yongjun wrote:
> ib_alloc_fast_reg_mr() and ib_alloc_fast_reg_page_list() returns
> ERR_PTR() and not NULL. Compile tested only.
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> index 5151f9f..0cf5e8c 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
> @@ -730,12 +730,12 @@ static struct svc_rdma_fastreg_mr *rdma_alloc_frmr(struct svcxprt_rdma *xprt)
> goto err;
>
> mr = ib_alloc_fast_reg_mr(xprt->sc_pd, RPCSVC_MAXPAGES);
> - if (!mr)
> + if (IS_ERR(mr))
> goto err_free_frmr;
>
> pl = ib_alloc_fast_reg_page_list(xprt->sc_cm_id->device,
> RPCSVC_MAXPAGES);
> - if (!pl)
> + if (IS_ERR(pl))
> goto err_free_mr;
>
> frmr->mr = mr;
> --
> 1.6.2.2
>
>
>
>