summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-04-21 02:48:02 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-04-21 02:48:02 -0700
commit3463b6952221534b46418edd694a86ff7e355d9b (patch)
tree4ae8724b3d5ff7fcbc457c71d80da54b646a2c76 /lib
parent3866b9c77840ed6000d55aff08ff1cd18e1ef07b (diff)
parent81a6413ed7a55270dca11bca9bf76b9535e32795 (diff)
Merge "Merge android-4.4.127 (d6bbe8b) into msm-4.4"
Diffstat (limited to 'lib')
-rw-r--r--lib/ioremap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/ioremap.c b/lib/ioremap.c
index 86c8911b0e3a..5323b59ca393 100644
--- a/lib/ioremap.c
+++ b/lib/ioremap.c
@@ -83,7 +83,8 @@ static inline int ioremap_pmd_range(pud_t *pud, unsigned long addr,
if (ioremap_pmd_enabled() &&
((next - addr) == PMD_SIZE) &&
- IS_ALIGNED(phys_addr + addr, PMD_SIZE)) {
+ IS_ALIGNED(phys_addr + addr, PMD_SIZE) &&
+ pmd_free_pte_page(pmd)) {
if (pmd_set_huge(pmd, phys_addr + addr, prot))
continue;
}
@@ -109,7 +110,8 @@ static inline int ioremap_pud_range(pgd_t *pgd, unsigned long addr,
if (ioremap_pud_enabled() &&
((next - addr) == PUD_SIZE) &&
- IS_ALIGNED(phys_addr + addr, PUD_SIZE)) {
+ IS_ALIGNED(phys_addr + addr, PUD_SIZE) &&
+ pud_free_pmd_page(pud)) {
if (pud_set_huge(pud, phys_addr + addr, prot))
continue;
}