]> git.baikalelectronics.ru Git - kernel.git/commit
[MIPS] Retry {save,restore}_fp_context if failed in atomic context.
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Mon, 16 Apr 2007 14:19:44 +0000 (23:19 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 20 Apr 2007 13:58:37 +0000 (14:58 +0100)
commit6052b4239bd1e345118fb9134a91372847a8e185
treed00e53763ca9b145348e5754aaf0cd4dcbb12123
parent69902aa6abbf1d206f86fce8f64d448995ddb55a
[MIPS] Retry {save,restore}_fp_context if failed in atomic context.

The save_fp_context()/restore_fp_context() might sleep on accessing
user stack and therefore might lose FPU ownership in middle of them.

If these function failed due to "in_atomic" test in do_page_fault,
touch the sigcontext area in non-atomic context and retry these
save/restore operation.

This is a replacement of a (broken) fix which was titled "Allow CpU
exception in kernel partially".

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/signal-common.h
arch/mips/kernel/signal.c
arch/mips/kernel/signal32.c
include/asm-mips/fpu.h