summaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-04 08:57:44 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-08-04 08:57:44 +0200
commit700487c158163f14e6ff10de770b565c1c993c69 (patch)
treefb86dee477c2903e975527461070638b03f85970 /arch/sh/mm
parentsh: Handle a NULL vma in __update_tlb() for the fast-path. (diff)
downloadlinux-700487c158163f14e6ff10de770b565c1c993c69.tar.xz
linux-700487c158163f14e6ff10de770b565c1c993c69.zip
sh: Add a PG_dcache_dirty sanity check in kmap_coherent().
This plugs in a BUG_ON() in kmap_coherent() for PG_dcache_dirty pages to catch when things go horribly wrong. Copied from the MIPS implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/pg-mmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/mm/pg-mmu.c b/arch/sh/mm/pg-mmu.c
index 8602f68af4c8..32351206edd3 100644
--- a/arch/sh/mm/pg-mmu.c
+++ b/arch/sh/mm/pg-mmu.c
@@ -37,6 +37,8 @@ static inline void *kmap_coherent(struct page *page, unsigned long addr)
unsigned long vaddr, flags;
pte_t pte;
+ BUG_ON(test_bit(PG_dcache_dirty, &page->flags));
+
inc_preempt_count();
idx = (addr & current_cpu_data.dcache.alias_mask) >> PAGE_SHIFT;