aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-02-09 18:17:18 +0100
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2016-02-13 00:34:59 +0100
commitbde44b6f6e1cb4eef34ef1f81125925e2ac3f244 (patch)
treedc3d60a3284b15db9bdbe1558712f1b893bac41c
parent0a7b907d290c82ff42dc4a55ae3a9a2162fd5c7f (diff)
downloadrt-linux-bde44b6f6e1cb4eef34ef1f81125925e2ac3f244.tar.gz
kernel: softirq: unlock with irqs on
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@linutronix.de>
-rw-r--r--kernel/softirq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index b44aedd374312..0e373e97d0c7d 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -549,8 +549,10 @@ static void do_current_softirqs(void)
do_single_softirq(i);
}
softirq_clr_runner(i);
- unlock_softirq(i);
WARN_ON(current->softirq_nestcnt != 1);
+ local_irq_enable();
+ unlock_softirq(i);
+ local_irq_disable();
}
}