]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - mm/memory_hotplug.c
gianfar: fix signedness issue
[net-next-2.6.git] / mm / memory_hotplug.c
index e4af144ee409e904c3f1bec9bf73913de339b7b9..9260314a221e0720d5cc3ecf5f00325c7ec3fba6 100644 (file)
@@ -705,24 +705,21 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)
                           check this again here. */
                        if (page_count(page)) {
                                not_managed++;
+                               ret = -EBUSY;
                                break;
                        }
                }
        }
-       ret = -EBUSY;
-       if (not_managed) {
-               if (!list_empty(&source))
+       if (!list_empty(&source)) {
+               if (not_managed) {
+                       putback_lru_pages(&source);
+                       goto out;
+               }
+               /* this function returns # of failed pages */
+               ret = migrate_pages(&source, hotremove_migrate_alloc, 0, 1);
+               if (ret)
                        putback_lru_pages(&source);
-               goto out;
        }
-       ret = 0;
-       if (list_empty(&source))
-               goto out;
-       /* this function returns # of failed pages */
-       ret = migrate_pages(&source, hotremove_migrate_alloc, 0, 1);
-       if (ret)
-               putback_lru_pages(&source);
-
 out:
        return ret;
 }