Merge branches 'pm-cpuidle', 'pm-core' and 'pm-sleep'
[linux-2.6-microblaze.git] / arch / riscv / mm / cacheflush.c
index 3cc07ed..fcd6145 100644 (file)
@@ -90,8 +90,10 @@ void flush_icache_pte(pte_t pte)
        if (PageHuge(page))
                page = compound_head(page);
 
-       if (!test_and_set_bit(PG_dcache_clean, &page->flags))
+       if (!test_bit(PG_dcache_clean, &page->flags)) {
                flush_icache_all();
+               set_bit(PG_dcache_clean, &page->flags);
+       }
 }
 #endif /* CONFIG_MMU */