Inline.

> -----Original Message-----
> From: Roland Dreier [mailto:rol...@purestorage.com]
> Sent: Wednesday, March 21, 2012 11:27 PM
> To: frank zago
> Cc: Pandit, Parav; linux-rdma@vger.kernel.org
> Subject: Re: [PATCH 6/9] ocrdma: Driver for Emulex OneConnect RDMA
> adapter
> 
> On Wed, Mar 21, 2012 at 10:42 AM, frank zago
> <fz...@systemfabricworks.com> wrote:
> > On 03/20/2012 05:39 PM, parav.pan...@emulex.com 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to