ASoC: wl1273: Fix enum ctl accesses in a wrong type
[deliverable/linux.git] / mm / migrate.c
index 91545da23fd1841b4a34676498d7d18d429188b5..b1034f9c77e7d5a9bdbe60692396e5584c6991fc 100644 (file)
@@ -943,9 +943,13 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
                goto out;
        }
 
-       if (unlikely(PageTransHuge(page)))
-               if (unlikely(split_huge_page(page)))
+       if (unlikely(PageTransHuge(page))) {
+               lock_page(page);
+               rc = split_huge_page(page);
+               unlock_page(page);
+               if (rc)
                        goto out;
+       }
 
        rc = __unmap_and_move(page, newpage, force, mode);
        if (rc == MIGRATEPAGE_SUCCESS)
@@ -1756,6 +1760,7 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
                HPAGE_PMD_ORDER);
        if (!new_page)
                goto out_fail;
+       prep_transhuge_page(new_page);
 
        isolated = numamigrate_isolate_page(pgdat, page);
        if (!isolated) {
This page took 0.026147 seconds and 5 git commands to generate.