Commit 343c8c9a authored by Sven-Thorsten Dietrich's avatar Sven-Thorsten Dietrich Committed by Thomas Gleixner

infiniband: Mellanox IB driver patch use _nort() primitives

Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT
Kernel.

Michael S. Tsirkin <mst@dev.mellanox.co.il> sayeth:
"Basically, if you just make spin_lock_irqsave (and spin_lock_irq) not disable
interrupts for non-raw spinlocks, I think all of infiniband will be fine without
changes."
Signed-off-by: default avatarSven-Thorsten Dietrich <sven@thebigcorporation.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent f21df1ea
...@@ -773,7 +773,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) ...@@ -773,7 +773,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
ipoib_mcast_stop_thread(dev, 0); ipoib_mcast_stop_thread(dev, 0);
local_irq_save(flags); local_irq_save_nort(flags);
netif_addr_lock(dev); netif_addr_lock(dev);
spin_lock(&priv->lock); spin_lock(&priv->lock);
...@@ -852,7 +852,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) ...@@ -852,7 +852,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
spin_unlock(&priv->lock); spin_unlock(&priv->lock);
netif_addr_unlock(dev); netif_addr_unlock(dev);
local_irq_restore(flags); local_irq_restore_nort(flags);
/* We have to cancel outside of the spinlock */ /* We have to cancel outside of the spinlock */
list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment