diff options
author | David S. Miller <davem@davemloft.net> | 2010-06-26 19:27:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-26 19:27:00 +0200 |
commit | c67dda14389205f0a223c5089307495290939b3b (patch) | |
tree | fad0bb26b28703d02a22ebdd44d94eabac4a2ade /arch/arm/mm/highmem.c | |
parent | sparc64: fix the build error due to smp_kgdb_capture_client() (diff) | |
parent | Linux 2.6.35-rc3 (diff) | |
download | linux-c67dda14389205f0a223c5089307495290939b3b.tar.xz linux-c67dda14389205f0a223c5089307495290939b3b.zip |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'arch/arm/mm/highmem.c')
-rw-r--r-- | arch/arm/mm/highmem.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mm/highmem.c b/arch/arm/mm/highmem.c index 77b030f5ec09..086816b205b8 100644 --- a/arch/arm/mm/highmem.c +++ b/arch/arm/mm/highmem.c @@ -48,7 +48,16 @@ void *kmap_atomic(struct page *page, enum km_type type) debug_kmap_atomic(type); - kmap = kmap_high_get(page); +#ifdef CONFIG_DEBUG_HIGHMEM + /* + * There is no cache coherency issue when non VIVT, so force the + * dedicated kmap usage for better debugging purposes in that case. + */ + if (!cache_is_vivt()) + kmap = NULL; + else +#endif + kmap = kmap_high_get(page); if (kmap) return kmap; |