[PATCH RT 3/7] kernel: softirq: unlock with irqs on

From: Steven Rostedt
Date: Wed Mar 02 2016 - 21:23:00 EST


3.2.77-rt112-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

We unlock the lock while the interrupts are off. This isn't a problem
now but will get because the migrate_disable() + enable are not
symmetrical in regard to the status of interrupts.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
---
kernel/softirq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/softirq.c b/kernel/softirq.c
index b7d68392e833..61860daa4098 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -561,10 +561,10 @@ static int __thread_do_softirq(int cpu)
*/
if (local_softirq_pending())
__do_softirq_common(cpu >= 0);
- local_unlock(local_softirq_lock);
unpin_current_cpu();
- preempt_disable();
local_irq_enable();
+ local_unlock(local_softirq_lock);
+ preempt_disable();
return 0;
}

--
2.7.0