diff options
| -rw-r--r-- | 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 bb2e3d5eee20..56c87a81bb67 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, | |||
| 407 | queue_delayed_work(ipoib_workqueue, | 407 | queue_delayed_work(ipoib_workqueue, |
| 408 | &priv->mcast_task, 0); | 408 | &priv->mcast_task, 0); |
| 409 | mutex_unlock(&mcast_mutex); | 409 | mutex_unlock(&mcast_mutex); |
| 410 | |||
| 411 | if (mcast == priv->broadcast) | ||
| 412 | netif_carrier_on(dev); | ||
| 413 | |||
| 410 | return 0; | 414 | return 0; |
| 411 | } | 415 | } |
| 412 | 416 | ||
| @@ -594,7 +598,6 @@ void ipoib_mcast_join_task(struct work_struct *work) | |||
| 594 | ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n"); | 598 | ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n"); |
| 595 | 599 | ||
| 596 | clear_bit(IPOIB_MCAST_RUN, &priv->flags); | 600 | clear_bit(IPOIB_MCAST_RUN, &priv->flags); |
| 597 | netif_carrier_on(dev); | ||
| 598 | } | 601 | } |
| 599 | 602 | ||
| 600 | int ipoib_mcast_start_thread(struct net_device *dev) | 603 | int ipoib_mcast_start_thread(struct net_device *dev) |
