[openib-general] [PATCH] ib_mad.c: Fix bug in completion handler when status != success
Hal Rosenstock
Mon Oct 25 19:25:25 PDT 2004
On Mon, 2004-10-25 at 22:12, Roland Dreier wrote:
> This is no good:
>
> + if (wc.status != IB_WC_SUCCESS) {
> + printk(KERN_ERR PFX "Completion error %d WRID 0x%Lx\n",
> + wc.status, (unsigned long long)
> wc.wr_id);
> + } else
>
> if a request fails we'll never complete it. eg if a consumer uses a
> bad L_Key for a send request, the send will never complete (and if the
> consumer ever does ib_unregister_mad_agent it will hang waiting for
> the send to finish).
It looks like I also need to add in a call to ib_mad_send_done_handler
in this case as well (when status != success) to handle the case you
cite.
-- Hal
More information about the openib-general mailing list