diff options
Diffstat (limited to 'arch/m68k/mm/fault.c')
-rw-r--r-- | arch/m68k/mm/fault.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c index 2adbeb16e1b8..578b48f47b9e 100644 --- a/arch/m68k/mm/fault.c +++ b/arch/m68k/mm/fault.c | |||
@@ -159,18 +159,17 @@ good_area: | |||
159 | #ifdef DEBUG | 159 | #ifdef DEBUG |
160 | printk("handle_mm_fault returns %d\n",fault); | 160 | printk("handle_mm_fault returns %d\n",fault); |
161 | #endif | 161 | #endif |
162 | switch (fault) { | 162 | if (unlikely(fault & VM_FAULT_ERROR)) { |
163 | case VM_FAULT_MINOR: | 163 | if (fault & VM_FAULT_OOM) |
164 | current->min_flt++; | 164 | goto out_of_memory; |
165 | break; | 165 | else if (fault & VM_FAULT_SIGBUS) |
166 | case VM_FAULT_MAJOR: | 166 | goto bus_err; |
167 | current->maj_flt++; | 167 | BUG(); |
168 | break; | ||
169 | case VM_FAULT_SIGBUS: | ||
170 | goto bus_err; | ||
171 | default: | ||
172 | goto out_of_memory; | ||
173 | } | 168 | } |
169 | if (fault & VM_FAULT_MAJOR) | ||
170 | current->maj_flt++; | ||
171 | else | ||
172 | current->min_flt++; | ||
174 | 173 | ||
175 | up_read(&mm->mmap_sem); | 174 | up_read(&mm->mmap_sem); |
176 | return 0; | 175 | return 0; |