sh: Conditionally re-enable IRQs in fault path.
authorStuart Menefy <stuart.menefy@st.com>
Wed, 2 Jul 2008 08:51:23 +0000 (17:51 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jul 2008 09:10:33 +0000 (18:10 +0900)
commitf2fb4e4f647dabf1177d3ce164988e73482d76b1
tree5288184d2d8535c826c8b3c33d79b2529c83542b
parent068f59143d821553e7a55cdbd69142b05e245d47
sh: Conditionally re-enable IRQs in fault path.

The current kernel behaviour is to reenable interrupts unconditionally
when taking a page fault. This patch changes this to only enable them
if interrupts were previously enabled.

It also fixes a problem seen with this fix in place: the kernel previously
flushed the vsyscall page when handling a signal, which is not only
unncessary, but caused a possible sleep with interrupts disabled.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/signal_32.c
arch/sh/mm/fault_32.c