Sean Hefty wrote:
void ipoib_mcast_join_task(void *dev_ptr)
@@ -553,7 +539,8 @@ void ipoib_mcast_join_task(void *dev_ptr
spin_unlock_irq(&priv->lock);
}
- if (!test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) {
+ if (!test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags) &&
+ !test_bit(IPOIB_MCAST_FLAG_BUSY, &priv->broadcast->flags)) {
ipoib_mcast_join(dev, priv->broadcast, 0);
return;
}
The change above needs to be:
if (!test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) {
if (!test_bit(IPOIB_MCAST_FLAG_BUSY, &priv->broadcast->flags))
ipoib_mcast_join(dev, priv->broadcast, 0);
return;
}
Or additional join requests will start before we've finished joining the
broadcast group.
- Sean
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general