aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/ipoib/ipoib_ib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_ib.c')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ib.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
index 54ef2fea530f..23885801b6d2 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
@@ -608,9 +608,13 @@ void ipoib_ib_dev_flush(void *_dev)
608 if (test_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags)) 608 if (test_bit(IPOIB_FLAG_ADMIN_UP, &priv->flags))
609 ipoib_ib_dev_up(dev); 609 ipoib_ib_dev_up(dev);
610 610
611 down(&priv->vlan_mutex);
612
611 /* Flush any child interfaces too */ 613 /* Flush any child interfaces too */
612 list_for_each_entry(cpriv, &priv->child_intfs, list) 614 list_for_each_entry(cpriv, &priv->child_intfs, list)
613 ipoib_ib_dev_flush(&cpriv->dev); 615 ipoib_ib_dev_flush(&cpriv->dev);
616
617 up(&priv->vlan_mutex);
614} 618}
615 619
616void ipoib_ib_dev_cleanup(struct net_device *dev) 620void ipoib_ib_dev_cleanup(struct net_device *dev)