X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=arch%2Fsh%2Fmm%2Fcache-sh4.c;h=981b04089055cf9fc0987eb3a0f83d38f98346d1;hb=e1a79c400a86f2f6a6735480e31f6ee159e76fa2;hp=e0cd4b7f4aeb4d510ad74680b8c89aa18781f978;hpb=5a84d159061d914c8dd4aa372ac6e9529c2be453;p=powerpc.git diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c index e0cd4b7f4a..981b040890 100644 --- a/arch/sh/mm/cache-sh4.c +++ b/arch/sh/mm/cache-sh4.c @@ -237,20 +237,10 @@ static inline void flush_cache_4096(unsigned long start, /* * Write back & invalidate the D-cache of the page. * (To avoid "alias" issues) - * - * This uses a lazy write-back on UP, which is explicitly - * disabled on SMP. */ void flush_dcache_page(struct page *page) { -#ifndef CONFIG_SMP - struct address_space *mapping = page_mapping(page); - - if (mapping && !mapping_mapped(mapping)) - set_bit(PG_dcache_dirty, &page->flags); - else -#endif - { + if (test_bit(PG_mapped, &page->flags)) { unsigned long phys = PHYSADDR(page_address(page)); unsigned long addr = CACHE_OC_ADDRESS_ARRAY; int i, n;