From 6e919599e03fa52fd5a02503b4a954b6cb859582 Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Mon, 7 Jun 2010 21:28:55 +0100 Subject: [PATCH] --- yaml --- r: 200289 b: refs/heads/master c: 17ebba1fe4da4b5d62782be8743e0e8231812af9 h: refs/heads/master i: 200287: a26154b63c58905c1cd8abcfe2ea70a86e2cd19a v: v3 --- [refs] | 2 +- trunk/arch/arm/mm/highmem.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 5b246412a3a9..2013fc09ce52 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b394eebdd3d436f1796e53b97799554c5aa77431 +refs/heads/master: 17ebba1fe4da4b5d62782be8743e0e8231812af9 diff --git a/trunk/arch/arm/mm/highmem.c b/trunk/arch/arm/mm/highmem.c index 77b030f5ec09..086816b205b8 100644 --- a/trunk/arch/arm/mm/highmem.c +++ b/trunk/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;