diff options
Diffstat (limited to 'arch/parisc/include/asm/pgalloc.h')
-rw-r--r-- | arch/parisc/include/asm/pgalloc.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/parisc/include/asm/pgalloc.h b/arch/parisc/include/asm/pgalloc.h index f213f5b4c423..63e9ecae1310 100644 --- a/arch/parisc/include/asm/pgalloc.h +++ b/arch/parisc/include/asm/pgalloc.h | |||
@@ -74,8 +74,13 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) | |||
74 | { | 74 | { |
75 | #ifdef CONFIG_64BIT | 75 | #ifdef CONFIG_64BIT |
76 | if(pmd_flag(*pmd) & PxD_FLAG_ATTACHED) | 76 | if(pmd_flag(*pmd) & PxD_FLAG_ATTACHED) |
77 | /* This is the permanent pmd attached to the pgd; | 77 | /* |
78 | * cannot free it */ | 78 | * This is the permanent pmd attached to the pgd; |
79 | * cannot free it. | ||
80 | * Increment the counter to compensate for the decrement | ||
81 | * done by generic mm code. | ||
82 | */ | ||
83 | mm_inc_nr_pmds(mm); | ||
79 | return; | 84 | return; |
80 | #endif | 85 | #endif |
81 | free_pages((unsigned long)pmd, PMD_ORDER); | 86 | free_pages((unsigned long)pmd, PMD_ORDER); |