ALSA: rme32: Fix the missing snd_card_free() call at probe error
[linux-2.6-microblaze.git] / mm / hugetlb.c
index a1baa19..61895cc 100644 (file)
@@ -4684,8 +4684,8 @@ hugetlb_install_page(struct vm_area_struct *vma, pte_t *ptep, unsigned long addr
                     struct page *new_page)
 {
        __SetPageUptodate(new_page);
-       set_huge_pte_at(vma->vm_mm, addr, ptep, make_huge_pte(vma, new_page, 1));
        hugepage_add_new_anon_rmap(new_page, vma, addr);
+       set_huge_pte_at(vma->vm_mm, addr, ptep, make_huge_pte(vma, new_page, 1));
        hugetlb_count_add(pages_per_huge_page(hstate_vma(vma)), vma->vm_mm);
        ClearHPageRestoreReserve(new_page);
        SetHPageMigratable(new_page);
@@ -5259,10 +5259,10 @@ retry_avoidcopy:
                /* Break COW */
                huge_ptep_clear_flush(vma, haddr, ptep);
                mmu_notifier_invalidate_range(mm, range.start, range.end);
-               set_huge_pte_at(mm, haddr, ptep,
-                               make_huge_pte(vma, new_page, 1));
                page_remove_rmap(old_page, true);
                hugepage_add_new_anon_rmap(new_page, vma, haddr);
+               set_huge_pte_at(mm, haddr, ptep,
+                               make_huge_pte(vma, new_page, 1));
                SetHPageMigratable(new_page);
                /* Make the old page be freed below */
                new_page = old_page;