aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile/mm/highmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/tile/mm/highmem.c')
-rw-r--r--arch/tile/mm/highmem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/tile/mm/highmem.c b/arch/tile/mm/highmem.c
index 6aa2f2625447..fcd545014e79 100644
--- a/arch/tile/mm/highmem.c
+++ b/arch/tile/mm/highmem.c
@@ -201,7 +201,7 @@ void *kmap_atomic_prot(struct page *page, pgprot_t prot)
201 int idx, type; 201 int idx, type;
202 pte_t *pte; 202 pte_t *pte;
203 203
204 /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */ 204 preempt_disable();
205 pagefault_disable(); 205 pagefault_disable();
206 206
207 /* Avoid icache flushes by disallowing atomic executable mappings. */ 207 /* Avoid icache flushes by disallowing atomic executable mappings. */
@@ -259,6 +259,7 @@ void __kunmap_atomic(void *kvaddr)
259 } 259 }
260 260
261 pagefault_enable(); 261 pagefault_enable();
262 preempt_enable();
262} 263}
263EXPORT_SYMBOL(__kunmap_atomic); 264EXPORT_SYMBOL(__kunmap_atomic);
264 265