I was trying out the grmpp module on a Power machine and kept to running into the following error "grmpp: failed path record query: -22". Debugging this revealed that this was a problem with the following code in recv_handler(0 in the sa_query.c file :

if (query && query->callback) {
if (mad_recv_wc->wc->status == IB_WC_SUCCESS)
query->callback(query,
mad_recv_wc->recv_buf.mad->mad_hdr.status ?
-EINVAL : 0,
(struct ib_sa_mad *) mad_recv_wc->recv_buf.mad);

Now mad_hdr.status field is declared as __be16. So, should the check be (mad_recv_wc->recv_buf.mad->mad_hdr.status & 0xff) before we return EINVAL?

That change seemed to fix the grmpp problem for me.

Pradeep
[EMAIL PROTECTED]

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to