Does this actually work?

 > +    if (!test_bit(IPOIB_MCAST_RUN, &priv->flags) || !priv->broadcast) {
 > +            dev_kfree_skb_any(skb);
 > +            goto unlock;
 > +    }

It seems that this code at the end of ipoib_mcast_join_task() might
screw things up:

        ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n");

        clear_bit(IPOIB_MCAST_RUN, &priv->flags);

Probably the semantics of IPOIB_MCAST_RUN need to change slightly.
I'm not sure this necessarily can be made to work -- maybe we just
need more than one bit of status information to handle everything.

Also should we count dropped packets here?

 - R.
_______________________________________________
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