diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2009-04-02 03:01:26 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-02 10:37:04 -0400 |
commit | a7f8c50d90a4e983c456ae75e534b5cd6c03674b (patch) | |
tree | b82409e5a859ed5c4fb245998ce438ff7f290847 | |
parent | 83f2f0ed715eb15a8e13c07df479d65bbc10d8d5 (diff) |
x86, mm: fix misuse of debug_kmap_atomic
Impact: fix CONFIG_DEBUG_HIGHMEM=y breakage
Commit 7ca43e756 ("mm: use debug_kmap_atomic") introduced some
debug_kmap_atomic() calls in the wrong places.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <20090402070126.GA3951@localhost.localdomain>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/mm/highmem_32.c | 1 | ||||
-rw-r--r-- | arch/x86/mm/iomap_32.c | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c index 5bc5d1688c1c..8126e8d1a2a4 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c | |||
@@ -40,7 +40,6 @@ void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot) | |||
40 | 40 | ||
41 | debug_kmap_atomic(type); | 41 | debug_kmap_atomic(type); |
42 | 42 | ||
43 | debug_kmap_atomic(type); | ||
44 | idx = type + KM_TYPE_NR*smp_processor_id(); | 43 | idx = type + KM_TYPE_NR*smp_processor_id(); |
45 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | 44 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); |
46 | BUG_ON(!pte_none(*(kmap_pte-idx))); | 45 | BUG_ON(!pte_none(*(kmap_pte-idx))); |
diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c index bff0c9032f8c..e331f77348a7 100644 --- a/arch/x86/mm/iomap_32.c +++ b/arch/x86/mm/iomap_32.c | |||
@@ -39,6 +39,7 @@ void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot) | |||
39 | 39 | ||
40 | pagefault_disable(); | 40 | pagefault_disable(); |
41 | 41 | ||
42 | debug_kmap_atomic(type); | ||
42 | idx = type + KM_TYPE_NR * smp_processor_id(); | 43 | idx = type + KM_TYPE_NR * smp_processor_id(); |
43 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | 44 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); |
44 | set_pte(kmap_pte - idx, pfn_pte(pfn, prot)); | 45 | set_pte(kmap_pte - idx, pfn_pte(pfn, prot)); |
@@ -72,7 +73,6 @@ iounmap_atomic(void *kvaddr, enum km_type type) | |||
72 | unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK; | 73 | unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK; |
73 | enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id(); | 74 | enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id(); |
74 | 75 | ||
75 | debug_kmap_atomic(type); | ||
76 | /* | 76 | /* |
77 | * Force other mappings to Oops if they'll try to access this pte | 77 | * Force other mappings to Oops if they'll try to access this pte |
78 | * without first remap it. Keeping stale mappings around is a bad idea | 78 | * without first remap it. Keeping stale mappings around is a bad idea |