aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kvm/mmu.c')
-rw-r--r--arch/arm/kvm/mmu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
index 7dace909d5cf..61d96a645ff3 100644
--- a/arch/arm/kvm/mmu.c
+++ b/arch/arm/kvm/mmu.c
@@ -218,7 +218,7 @@ static void unmap_ptes(struct kvm *kvm, pmd_t *pmd,
218 kvm_tlb_flush_vmid_ipa(kvm, addr); 218 kvm_tlb_flush_vmid_ipa(kvm, addr);
219 219
220 /* No need to invalidate the cache for device mappings */ 220 /* No need to invalidate the cache for device mappings */
221 if (!kvm_is_device_pfn(__phys_to_pfn(addr))) 221 if (!kvm_is_device_pfn(pte_pfn(old_pte)))
222 kvm_flush_dcache_pte(old_pte); 222 kvm_flush_dcache_pte(old_pte);
223 223
224 put_page(virt_to_page(pte)); 224 put_page(virt_to_page(pte));
@@ -310,7 +310,7 @@ static void stage2_flush_ptes(struct kvm *kvm, pmd_t *pmd,
310 310
311 pte = pte_offset_kernel(pmd, addr); 311 pte = pte_offset_kernel(pmd, addr);
312 do { 312 do {
313 if (!pte_none(*pte) && !kvm_is_device_pfn(__phys_to_pfn(addr))) 313 if (!pte_none(*pte) && !kvm_is_device_pfn(pte_pfn(*pte)))
314 kvm_flush_dcache_pte(*pte); 314 kvm_flush_dcache_pte(*pte);
315 } while (pte++, addr += PAGE_SIZE, addr != end); 315 } while (pte++, addr += PAGE_SIZE, addr != end);
316} 316}