ARM: make_coherent: convert adjust_pte() to use p*d_none_or_clear_bad()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King 2009-12-18 16:23:44 +00:00
parent c26c20b823
commit f8a85f1164

View File

@ -73,16 +73,12 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address)
int ret;
pgd = pgd_offset(vma->vm_mm, address);
if (pgd_none(*pgd))
goto no_pgd;
if (pgd_bad(*pgd))
goto bad_pgd;
if (pgd_none_or_clear_bad(pgd))
return 0;
pmd = pmd_offset(pgd, address);
if (pmd_none(*pmd))
goto no_pmd;
if (pmd_bad(*pmd))
goto bad_pmd;
if (pmd_none_or_clear_bad(pmd))
return 0;
pte = pte_offset_map(pmd, address);
@ -91,18 +87,6 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address)
pte_unmap(pte);
return ret;
bad_pgd:
pgd_ERROR(*pgd);
pgd_clear(pgd);
no_pgd:
return 0;
bad_pmd:
pmd_ERROR(*pmd);
pmd_clear(pmd);
no_pmd:
return 0;
}
static void