[openib-general] [PATCH] Fix MAD completion handling
Sean Hefty
mshefty at ichips.intel.com
Wed Sep 29 09:30:45 PDT 2004
On Tue, 28 Sep 2004 14:50:57 -0700
Roland Dreier <roland at topspin.com> wrote:
> @@ -892,6 +892,8 @@
> struct ib_wc wc;
> int err_status = 0;
>
> + ib_req_notify_cq(port_priv->cq, IB_CQ_NEXT_COMP);
> +
> while (ib_poll_cq(port_priv->cq, 1, &wc) == 1) {
> printk(KERN_DEBUG "Completion opcode 0x%x WRID 0x%Lx\n", wc.opcode, wc.wr_id);
> if (wc.status != IB_WC_SUCCESS) {
> @@ -928,11 +930,8 @@
> }
> }
>
> - if (err_status) {
> + if (err_status)
> ib_mad_port_restart(port_priv);
> - } else {
> - ib_req_notify_cq(port_priv->cq, IB_CQ_NEXT_COMP);
> - }
Shouldn't we be able to keep the ib_req_notify_cq at the end of this function? If additional completions are left after polling, a second event should be generated. Or at least that's what I remember from out discussions about this...
More information about the general
mailing list