diff options
-rw-r--r-- | mm/page_isolation.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/page_isolation.c b/mm/page_isolation.c index 9c03dca8c2ad..6744235d2d0e 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c | |||
@@ -200,8 +200,11 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn) | |||
200 | continue; | 200 | continue; |
201 | } | 201 | } |
202 | page = pfn_to_page(pfn); | 202 | page = pfn_to_page(pfn); |
203 | if (PageBuddy(page)) | 203 | if (PageBuddy(page)) { |
204 | if (get_freepage_migratetype(page) != MIGRATE_ISOLATE) | ||
205 | break; | ||
204 | pfn += 1 << page_order(page); | 206 | pfn += 1 << page_order(page); |
207 | } | ||
205 | else if (page_count(page) == 0 && | 208 | else if (page_count(page) == 0 && |
206 | get_freepage_migratetype(page) == MIGRATE_ISOLATE) | 209 | get_freepage_migratetype(page) == MIGRATE_ISOLATE) |
207 | pfn += 1; | 210 | pfn += 1; |