Inline.
> -----Original Message-----
> From: Roland Dreier [mailto:[email protected]]
> Sent: Wednesday, March 21, 2012 11:27 PM
> To: frank zago
> Cc: Pandit, Parav; [email protected]
> Subject: Re: [PATCH 6/9] ocrdma: Driver for Emulex OneConnect RDMA
> adapter
>
> On Wed, Mar 21, 2012 at 10:42 AM, frank zago
> <[email protected]> wrote:
> > On 03/20/2012 05:39 PM, [email protected] wrote:
> >> +struct ib_mr *ocrdma_get_dma_mr(struct ib_pd *ibpd, int acc) {
> >> + struct ocrdma_mr *mr;
> >> +
> >> + mr = ocrdma_alloc_lkey(ibpd, acc, 0,
> >> + OCRDMA_ADDR_CHECK_DISABLE);
> >> + if (!mr)
> >> + return ERR_PTR(-ENOMEM);
> >
> > ocrdma_alloc_lkey does not return NULL on error.
>
I'll fix this part.
> Good catch! Even more to the point, ocrdma_alloc_lkey() doesn't return a
> struct ocrdma_mr* on success. So this function is totally broken.
>
It does returns ocrdma_mr* on success. Why do you think it doesn't return?
Below is the snippet.
status = ocrdma_mbx_alloc_lkey(dev, &mr->hwmr, pd->id, addr_check);
if (status) {
kfree(mr);
return ERR_PTR(-ENOMEM);
}
mr->pd = pd;
atomic_inc(&pd->use_cnt);
mr->ibmr.lkey = mr->hwmr.lkey;
if (mr->hwmr.remote_wr || mr->hwmr.remote_rd)
mr->ibmr.rkey = mr->hwmr.lkey;
return mr;
> - R.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html