Commit 1fffbb3a authored by Philippe Gerum's avatar Philippe Gerum

ARM: sched: ipipe: resync interrupt state from assembly callout

parent 60236878
......@@ -616,11 +616,13 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
trace_hardirqs_off();
do {
if (likely(thread_flags & _TIF_NEED_RESCHED)) {
local_irq_disable();
hard_cond_local_irq_enable();
schedule();
} else {
if (unlikely(!user_mode(regs)))
return 0;
local_irq_enable();
hard_local_irq_enable();
if (thread_flags & _TIF_SIGPENDING) {
int restart = do_signal(regs, syscall);
if (unlikely(restart)) {
......@@ -639,7 +641,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
tracehook_notify_resume(regs);
}
}
local_irq_disable();
hard_local_irq_disable();
thread_flags = current_thread_info()->flags;
} while (thread_flags & _TIF_WORK_MASK);
return 0;
......
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