Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / mm / pgtable-generic.c
index 1e4ee763c1909d472c3d4d485cbd9baeea9d22bc..cf2af04b34b97543aa9dae242936b7b47a469b3c 100644 (file)
@@ -181,12 +181,12 @@ pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
 #endif
 
 #ifndef __HAVE_ARCH_PMDP_INVALIDATE
-void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
+pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
                     pmd_t *pmdp)
 {
-       pmd_t entry = *pmdp;
-       set_pmd_at(vma->vm_mm, address, pmdp, pmd_mknotpresent(entry));
+       pmd_t old = pmdp_establish(vma, address, pmdp, pmd_mknotpresent(*pmdp));
        flush_pmd_tlb_range(vma, address, address + HPAGE_PMD_SIZE);
+       return old;
 }
 #endif