]> err.no Git - linux-2.6/commit
[POWERPC] Enable interrupts if we are doing fp math emulation
authorKumar Gala <galak@kernel.crashing.org>
Wed, 7 Feb 2007 07:13:32 +0000 (01:13 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 7 Feb 2007 07:13:32 +0000 (01:13 -0600)
commit04903a30a327513b97c1271fc6bc4dad6502d1b8
tree9761b3fbe0606102ee47d5fed12a50b9c9931280
parent8209003547c4b1006943eac8dc6c1fb6493cafda
[POWERPC] Enable interrupts if we are doing fp math emulation

Anytime we are emulating an instruction we are going to be doing some form of
get_user() to get the instruction image to decode.  Since get_user() might
sleep we need to ensure we have interrupts enabled or we might see something
like:

Debug: sleeping function called from invalid context at arch/powerpc/kernel/traps.c:697
in_atomic():0, irqs_disabled():1
Call Trace:
[D6023EB0] [C0007F84] show_stack+0x58/0x174 (unreliable)
[D6023EE0] [C0022C34] __might_sleep+0xbc/0xd0
[D6023EF0] [C000D158] program_check_exception+0x1d8/0x4fc
[D6023F40] [C000E744] ret_from_except_full+0x0/0x4c
--- Exception: 700 at 0x102a7100
    LR = 0xdb9ef04

However, we want to ensure that interrupts are disabled when handling a trap
exception that might be used for a kernel breakpoint.  This is why ProgramCheck
is marked as EXC_XFER_STD instead of EXC_XFER_EE.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/kernel/traps.c