Skip to content

Commit

Permalink
IPoIB: Turn on interface's carrier after broadcast group is joined
Browse files Browse the repository at this point in the history
Do netif_carrier_on() right after the IPv4 broadcast multicast group
is joined, rather than waiting for all of the initial set of multicast
group joins to finish.  This allows at least IPv4 traffic to limp
along on broken fabrics where not all multicast groups can be joined.

Signed-off-by: Shirley Ma <xma@us.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Shirley Ma authored and Roland Dreier committed Mar 8, 2007
1 parent 3492856 commit 55c9add
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/infiniband/ulp/ipoib/ipoib_multicast.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,10 @@ static int ipoib_mcast_join_complete(int status,
queue_delayed_work(ipoib_workqueue,
&priv->mcast_task, 0);
mutex_unlock(&mcast_mutex);

if (mcast == priv->broadcast)
netif_carrier_on(dev);

return 0;
}

Expand Down Expand Up @@ -594,7 +598,6 @@ void ipoib_mcast_join_task(struct work_struct *work)
ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n");

clear_bit(IPOIB_MCAST_RUN, &priv->flags);
netif_carrier_on(dev);
}

int ipoib_mcast_start_thread(struct net_device *dev)
Expand Down

0 comments on commit 55c9add

Please sign in to comment.