|
@@ -45,6 +45,7 @@ void *kmap_atomic_prot(struct page *page, pgprot_t prot)
|
|
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
|
|
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
|
|
BUG_ON(!pte_none(*(kmap_pte-idx)));
|
|
BUG_ON(!pte_none(*(kmap_pte-idx)));
|
|
set_pte(kmap_pte-idx, mk_pte(page, prot));
|
|
set_pte(kmap_pte-idx, mk_pte(page, prot));
|
|
|
|
+ arch_flush_lazy_mmu_mode();
|
|
|
|
|
|
return (void *)vaddr;
|
|
return (void *)vaddr;
|
|
}
|
|
}
|
|
@@ -88,6 +89,7 @@ void __kunmap_atomic(void *kvaddr)
|
|
*/
|
|
*/
|
|
kpte_clear_flush(kmap_pte-idx, vaddr);
|
|
kpte_clear_flush(kmap_pte-idx, vaddr);
|
|
kmap_atomic_idx_pop();
|
|
kmap_atomic_idx_pop();
|
|
|
|
+ arch_flush_lazy_mmu_mode();
|
|
}
|
|
}
|
|
#ifdef CONFIG_DEBUG_HIGHMEM
|
|
#ifdef CONFIG_DEBUG_HIGHMEM
|
|
else {
|
|
else {
|