> > @@ -572,6 +573,8 @@ static int nes_dealloc_fmr(struct ib_fmr *ibfmr)
> >     nesmr->ibmw.rkey = ibfmr->rkey;
> >     nesmr->ibmw.uobject = NULL;
> >  
> > +   rc = nes_dealloc_mw(&nesmr->ibmw);
> > +
> >     if (nesfmr->nesmr.pbls_used != 0) {
> >             spin_lock_irqsave(&nesadapter->pbl_lock, flags);
> >             if (nesfmr->nesmr.pbl_4k) {
>
> Can this be right?  nes_dealloc_mw() fails, so the HW still thinks it
> owns the resources, and then the function just continues and releases
> the PBLs before returning?

You are right, the code in nes_dealloc_fmr is missing a check 
of the return code.  This will be updated in a patch to follow.

> [And same issue seems to be there for the change to nes_dereg_mr]

I believe that nes_dereg_mr is correctly checking return codes 
and does not need to be changed.  Please let me know if you 
still see a problem here.

Don Wood
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to