After reading back over the code, I think I understand why I didn’t see any
issues.  The only events likely to have been generated by my tests with respect
to this patch are CQ completion events.  The changes for this one area should be
okay, but Leonid’s patch not only fixes the other areas, but cleans this one up
some.  See below.

- // fill the object
- cq_p = (struct mthca_cq *)ib_cq_p;
- cq_p->cq_context = (void*)cq_context;

This saved the user’s cq_context…
 
- cq->ibcq.comp_handler(cq->cq_context);

which was used in the direct callback to the user

For mthca, there are two context values with each object.  For example, in
struct mthca_cq, there’s cq_context, and another in struct mthca_cq:struct
ib_cq:cq_context.  The latter context is set incorrectly and gets used for async
events, which, apparently, aren’t all that common, at least on my systems.

- Sean

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

Reply via email to