[ofa-general] Re: [RFC][PATCH] last wqe event handler patch

Roland Dreier rdreier at cisco.com
Wed Jun 25 11:47:50 PDT 2008


 > @@ -237,9 +235,11 @@ static void ipoib_cm_rx_event_handler(struct ib_event *event, void *ctx)
 >             return;
 > 
 >       spin_lock_irqsave(&priv->lock, flags);
 > -     list_move(&p->list, &priv->cm.rx_flush_list);
 > -     p->state = IPOIB_CM_RX_FLUSH;
 > -     ipoib_cm_start_rx_drain(priv);
 > +     if (p->state == IPOIB_CM_RX_LIVE) {
 > +           list_move(&p->list, &priv->cm.rx_flush_list);
 > +           p->state = IPOIB_CM_RX_FLUSH;
 > +           ipoib_cm_start_rx_drain(priv);
 > +     }
 >       spin_unlock_irqrestore(&priv->lock, flags);

Can you explain this change a little more?  It seems quite likely that
we would get last WQE reached events for other states, such as
IPOIB_CM_RX_ERROR coming from ipoib_cm_dev_stop(), and I don't see how
things work if we make this change.

 - R.



More information about the general mailing list