Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=55c9adde13dfc6b738e0f70c071a0622e52f35ed
Commit:     55c9adde13dfc6b738e0f70c071a0622e52f35ed
Parent:     3492856e33da734501f2bdd8656cbfdf61f60330
Author:     Shirley Ma <[EMAIL PROTECTED]>
AuthorDate: Thu Mar 8 14:59:30 2007 -0800
Committer:  Roland Dreier <[EMAIL PROTECTED]>
CommitDate: Thu Mar 8 14:59:30 2007 -0800

    IPoIB: Turn on interface's carrier after broadcast group is joined
    
    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 <[EMAIL PROTECTED]>
    Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>
---
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 
b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index bb2e3d5..56c87a8 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -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;
        }
 
@@ -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)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to