IPoIB: Do not join broadcast group if interface is brought down
commit50df48f59d656d58a1734df5cfe00cdc9a74e8b5
authorYossi Etigin <yosefe@Voltaire.COM>
Tue, 13 Jan 2009 03:28:42 +0000 (12 19:28 -0800)
committerRoland Dreier <rolandd@cisco.com>
Tue, 13 Jan 2009 03:28:42 +0000 (12 19:28 -0800)
treed7f141cea824e428f099b75166e6a60874c1a9ce
parenta50df398cddf6b757bdbf30f5f0875982ef5c660
IPoIB: Do not join broadcast group if interface is brought down

Because the ipoib_workqueue is not flushed when ipoib interface is
brought down, ipoib_mcast_join() may trigger a join to the broadcast
group after priv->broadcast was set to NULL (during cleanup).  This
will cause the system to be a member of the broadcast group when
interface is down.  As a side effect, this breaks the optimization of
setting the Q_key only when joining the broadcast group.

Signed-off-by: Yossi Etigin <yosefe@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_multicast.c