On 3/4/2019 3:41 PM, Jason Gunthorpe wrote:
On Tue, Feb 26, 2019 at 12:15:59PM -0500, Dennis Dalessandro wrote:
On 2/26/2019 11:45 AM, Dennis Dalessandro wrote:
struct hfi1_ctxtdata *hfi1_rcd_get_by_index(struct hfi1_devdata *dd, u16 ctxt);
diff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c
index 7841a0a..2cc5164 100644
+++ b/drivers/infiniband/hw/hfi1/init.c
@@ -214,12 +214,12 @@ static void hfi1_rcd_free(struct kref *kref)
struct hfi1_ctxtdata *rcd =
container_of(kref, struct hfi1_ctxtdata, kref);
- hfi1_free_ctxtdata(rcd->dd, rcd);
-
spin_lock_irqsave(&rcd->dd->uctxt_lock, flags);
rcd->dd->rcd[rcd->ctxt] = NULL;
spin_unlock_irqrestore(&rcd->dd->uctxt_lock, flags);
+ hfi1_free_ctxtdata(rcd->dd, rcd);
+
kfree(rcd);
}
Whoops, hold off on pulling this one just yet. We need to take a closer look
at the above hunk.
Oh, okay.. Please resend it
We've talked it over, it is OK to take after all. Just needed to be sure
and folks were on vacation last week. If you still have the patch it's
good to go, if not I'll tack it on my next submit as well.
-Denny