diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 6 |
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 ec41c8f46c72..216471fa01cc 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |||
@@ -820,7 +820,8 @@ void ipoib_mcast_restart_task(void *dev_ptr) | |||
820 | 820 | ||
821 | ipoib_mcast_stop_thread(dev, 0); | 821 | ipoib_mcast_stop_thread(dev, 0); |
822 | 822 | ||
823 | spin_lock_irqsave(&dev->xmit_lock, flags); | 823 | local_irq_save(flags); |
824 | netif_tx_lock(dev); | ||
824 | spin_lock(&priv->lock); | 825 | spin_lock(&priv->lock); |
825 | 826 | ||
826 | /* | 827 | /* |
@@ -895,7 +896,8 @@ void ipoib_mcast_restart_task(void *dev_ptr) | |||
895 | } | 896 | } |
896 | 897 | ||
897 | spin_unlock(&priv->lock); | 898 | spin_unlock(&priv->lock); |
898 | spin_unlock_irqrestore(&dev->xmit_lock, flags); | 899 | netif_tx_unlock(dev); |
900 | local_irq_restore(flags); | ||
899 | 901 | ||
900 | /* We have to cancel outside of the spinlock */ | 902 | /* We have to cancel outside of the spinlock */ |
901 | list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { | 903 | list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { |