Messages in this thread Patch in this message | | | From | Richard Weinberger <> | Subject | [PATCH 11/20] tile: Do not call do_signal() with irqs disabled | Date | Sat, 26 May 2012 00:04:27 +0200 |
| |
get_signal_to_deliver() calls try_to_freeze() which might sleep.
Cc: Chris Metcalf <cmetcalf@tilera.com> Signed-off-by: Richard Weinberger <richard@nod.at> --- arch/tile/kernel/process.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c index f572c19..911cb99 100644 --- a/arch/tile/kernel/process.c +++ b/arch/tile/kernel/process.c @@ -27,6 +27,7 @@ #include <linux/kernel.h> #include <linux/tracehook.h> #include <linux/signal.h> +#include <linux/irqflags.h> #include <asm/stack.h> #include <asm/switch_to.h> #include <asm/homecache.h> @@ -548,6 +549,8 @@ struct task_struct *__sched _switch_to(struct task_struct *prev, */ int do_work_pending(struct pt_regs *regs, u32 thread_info_flags) { + local_irq_enable(); + /* If we enter in kernel mode, do nothing and exit the caller loop. */ if (!user_mode(regs)) return 0; -- 1.7.7.3
| |