diff --git a/drivers/soc/qcom/mem-offline.c b/drivers/soc/qcom/mem-offline.c index 2964948a8a1a..9ce89e6fa54a 100644 --- a/drivers/soc/qcom/mem-offline.c +++ b/drivers/soc/qcom/mem-offline.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -460,6 +461,12 @@ static void isolate_free_pages(struct movable_zone_fill_control *fc) continue; } + if (!(start_pfn % pageblock_nr_pages) && + is_migrate_isolate_page(page)) { + start_pfn += pageblock_nr_pages - 1; + continue; + } + if (!PageBuddy(page)) continue;