aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2015-01-30 18:39:36 -0500
committerRoland Dreier <roland@purestorage.com>2015-01-30 18:39:36 -0500
commit4143a9515d355857aeaa151a63cf21dd061151d9 (patch)
treefb472fd8256818d5514b8211c532985978b920dd
parentc6a7ec7a0f3b7817ac1710c41fdeb84a3c33a47a (diff)
Revert "IPoIB: Consolidate rtnl_lock tasks in workqueue"
This reverts commit afe1de664ef3cb756e70938d99417dcbc6b1379a. The series of IPoIB bug fixes that went into 3.19-rc1 introduce regressions, and after trying to sort things out, we decided to revert to 3.18's IPoIB driver and get things right for 3.20. Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_multicast.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index eee66d13e5b9..ffb83b5f7e80 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -190,6 +190,12 @@ static int ipoib_mcast_join_finish(struct ipoib_mcast *mcast,
190 spin_unlock_irq(&priv->lock); 190 spin_unlock_irq(&priv->lock);
191 priv->tx_wr.wr.ud.remote_qkey = priv->qkey; 191 priv->tx_wr.wr.ud.remote_qkey = priv->qkey;
192 set_qkey = 1; 192 set_qkey = 1;
193
194 if (!ipoib_cm_admin_enabled(dev)) {
195 rtnl_lock();
196 dev_set_mtu(dev, min(priv->mcast_mtu, priv->admin_mtu));
197 rtnl_unlock();
198 }
193 } 199 }
194 200
195 if (!test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) { 201 if (!test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) {
@@ -365,8 +371,6 @@ void ipoib_mcast_carrier_on_task(struct work_struct *work)
365 } 371 }
366 372
367 rtnl_lock(); 373 rtnl_lock();
368 if (!ipoib_cm_admin_enabled(priv->dev))
369 dev_set_mtu(priv->dev, min(priv->mcast_mtu, priv->admin_mtu));
370 netif_carrier_on(priv->dev); 374 netif_carrier_on(priv->dev);
371 rtnl_unlock(); 375 rtnl_unlock();
372} 376}