|
@@ -173,7 +173,7 @@ set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
|
|
new_pte = pfn_pte(phys >> PAGE_SHIFT, prot);
|
|
new_pte = pfn_pte(phys >> PAGE_SHIFT, prot);
|
|
|
|
|
|
pte = pte_offset_kernel(pmd, vaddr);
|
|
pte = pte_offset_kernel(pmd, vaddr);
|
|
- if (!pte_none(*pte) &&
|
|
|
|
|
|
+ if (!pte_none(*pte) && pte_val(new_pte) &&
|
|
pte_val(*pte) != (pte_val(new_pte) & __supported_pte_mask))
|
|
pte_val(*pte) != (pte_val(new_pte) & __supported_pte_mask))
|
|
pte_ERROR(*pte);
|
|
pte_ERROR(*pte);
|
|
set_pte(pte, new_pte);
|
|
set_pte(pte, new_pte);
|