Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
[muen/linux.git] / arch / arm / kernel / signal.c
index 29e5dc70bb41f509697a1e1855dcee8d3031ef4b..7b8f2141427bda172899bfe8ae5113367163af47 100644 (file)
@@ -565,6 +565,12 @@ static int do_signal(struct pt_regs *regs, int syscall)
 asmlinkage int
 do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
 {
+       /*
+        * The assembly code enters us with IRQs off, but it hasn't
+        * informed the tracing code of that for efficiency reasons.
+        * Update the trace code with the current status.
+        */
+       trace_hardirqs_off();
        do {
                if (likely(thread_flags & _TIF_NEED_RESCHED)) {
                        schedule();