diff options
| author | Jesper Nilsson <jesper.nilsson@axis.com> | 2010-08-04 11:23:24 -0400 |
|---|---|---|
| committer | Jesper Nilsson <jesper.nilsson@axis.com> | 2010-08-04 12:28:48 -0400 |
| commit | 028c1f6817c1ef49c61641dc1ae6c629e5bb32df (patch) | |
| tree | b21fe8ab63975791c8ddffb79c08e4b476ce120a | |
| parent | a90993c693ab7bd72bcb28b105e8dd4f0698f836 (diff) | |
CRIS: Don't take faults while in_atomic
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| -rw-r--r-- | arch/cris/mm/fault.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/cris/mm/fault.c b/arch/cris/mm/fault.c index 72dbdbf0accf..a2b4c0b8f0fd 100644 --- a/arch/cris/mm/fault.c +++ b/arch/cris/mm/fault.c | |||
| @@ -1,10 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * linux/arch/cris/mm/fault.c | 2 | * arch/cris/mm/fault.c |
| 3 | * | ||
| 4 | * Copyright (C) 2000-2006 Axis Communications AB | ||
| 5 | * | ||
| 6 | * Authors: Bjorn Wesen | ||
| 7 | * | 3 | * |
| 4 | * Copyright (C) 2000-2010 Axis Communications AB | ||
| 8 | */ | 5 | */ |
| 9 | 6 | ||
| 10 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
| @@ -108,11 +105,11 @@ do_page_fault(unsigned long address, struct pt_regs *regs, | |||
| 108 | info.si_code = SEGV_MAPERR; | 105 | info.si_code = SEGV_MAPERR; |
| 109 | 106 | ||
| 110 | /* | 107 | /* |
| 111 | * If we're in an interrupt or have no user | 108 | * If we're in an interrupt or "atomic" operation or have no |
| 112 | * context, we must not take the fault.. | 109 | * user context, we must not take the fault. |
| 113 | */ | 110 | */ |
| 114 | 111 | ||
| 115 | if (in_interrupt() || !mm) | 112 | if (in_atomic() || !mm) |
| 116 | goto no_context; | 113 | goto no_context; |
| 117 | 114 | ||
| 118 | down_read(&mm->mmap_sem); | 115 | down_read(&mm->mmap_sem); |
