aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_multicast.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index 1dae4b238252..1d917edcf9ba 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -821,7 +821,8 @@ void ipoib_mcast_restart_task(void *dev_ptr)
821 821
822 ipoib_mcast_stop_thread(dev, 0); 822 ipoib_mcast_stop_thread(dev, 0);
823 823
824 spin_lock_irqsave(&dev->xmit_lock, flags); 824 local_irq_save(flags);
825 netif_tx_lock(dev);
825 spin_lock(&priv->lock); 826 spin_lock(&priv->lock);
826 827
827 /* 828 /*
@@ -896,7 +897,8 @@ void ipoib_mcast_restart_task(void *dev_ptr)
896 } 897 }
897 898
898 spin_unlock(&priv->lock); 899 spin_unlock(&priv->lock);
899 spin_unlock_irqrestore(&dev->xmit_lock, flags); 900 netif_tx_unlock(dev);
901 local_irq_restore(flags);
900 902
901 /* We have to cancel outside of the spinlock */ 903 /* We have to cancel outside of the spinlock */
902 list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { 904 list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {