blob: 41c9f87665bce3ed9744a8eb28f5f6fb72a01a53 [file] [log] [blame]
From aa60f24bac7c129cfc97e25319669d1a5c95400c Mon Sep 17 00:00:00 2001
From: Wu Zhangjin <wuzhangjin@gmail.com>
Date: Wed, 10 Mar 2010 01:53:58 +0800
Subject: [PATCH] RT: MIPS: check resched in do_signal()
commit aa60f24bac7c129cfc97e25319669d1a5c95400c in tip.
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index d0c68b5..2ca24d7 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -640,6 +640,14 @@ static void do_signal(struct pt_regs *regs)
siginfo_t info;
int signr;
+#ifdef CONFIG_PREEMPT_RT
+ /*
+ * Fully-preemptible kernel does not need interrupts disabled
+ */
+ local_irq_enable();
+ preempt_check_resched();
+#endif
+
/*
* We want the common case to go fast, which is why we may in certain
* cases get here from kernel mode. Just return without doing anything
--
1.7.1.1