projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-4.2/sg' of git://git.kernel.dk/linux-block
[firefly-linux-kernel-4.4.55.git]
/
arch
/
metag
/
mm
/
highmem.c
diff --git
a/arch/metag/mm/highmem.c
b/arch/metag/mm/highmem.c
index d71f621a2c0b92adb5679162d1cd59568440986b..807f1b1c4e6567738f676c935ad21483e4972a32 100644
(file)
--- a/
arch/metag/mm/highmem.c
+++ b/
arch/metag/mm/highmem.c
@@
-43,7
+43,7
@@
void *kmap_atomic(struct page *page)
unsigned long vaddr;
int type;
unsigned long vaddr;
int type;
- /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
+ preempt_disable();
pagefault_disable();
if (!PageHighMem(page))
return page_address(page);
pagefault_disable();
if (!PageHighMem(page))
return page_address(page);
@@
-82,6
+82,7
@@
void __kunmap_atomic(void *kvaddr)
}
pagefault_enable();
}
pagefault_enable();
+ preempt_enable();
}
EXPORT_SYMBOL(__kunmap_atomic);
}
EXPORT_SYMBOL(__kunmap_atomic);
@@
-95,6
+96,7
@@
void *kmap_atomic_pfn(unsigned long pfn)
unsigned long vaddr;
int type;
unsigned long vaddr;
int type;
+ preempt_disable();
pagefault_disable();
type = kmap_atomic_idx_push();
pagefault_disable();
type = kmap_atomic_idx_push();