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 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) { |