|
@@ -175,16 +175,16 @@ void __flush_dcache_page(struct address_space *mapping, struct page *page)
|
|
|
unsigned long i;
|
|
|
if (cache_is_vipt_nonaliasing()) {
|
|
|
for (i = 0; i < (1 << compound_order(page)); i++) {
|
|
|
- void *addr = kmap_atomic(page);
|
|
|
+ void *addr = kmap_atomic(page + i);
|
|
|
__cpuc_flush_dcache_area(addr, PAGE_SIZE);
|
|
|
kunmap_atomic(addr);
|
|
|
}
|
|
|
} else {
|
|
|
for (i = 0; i < (1 << compound_order(page)); i++) {
|
|
|
- void *addr = kmap_high_get(page);
|
|
|
+ void *addr = kmap_high_get(page + i);
|
|
|
if (addr) {
|
|
|
__cpuc_flush_dcache_area(addr, PAGE_SIZE);
|
|
|
- kunmap_high(page);
|
|
|
+ kunmap_high(page + i);
|
|
|
}
|
|
|
}
|
|
|
}
|