diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b26a1a67fb1a..0090c9211737 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3372,6 +3372,14 @@ bool __zone_watermark_ok(struct zone *z, unsigned int order, unsigned long mark, continue; for (mt = 0; mt < MIGRATE_PCPTYPES; mt++) { +#ifdef CONFIG_CMA + /* + * Note that this check is needed only + * when MIGRATE_CMA < MIGRATE_PCPTYPES. + */ + if (mt == MIGRATE_CMA) + continue; +#endif if (!list_empty(&area->free_list[mt])) return true; }