[openib-general] [PATCH] ib_mad.c: Fix bug in completion handler when status != success

Hal Rosenstock halr at voltaire.com
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 general mailing list