diff --git a/mm/compaction.c b/mm/compaction.c
index 2c4ce17651d825c97c7d89ecea52bf53f17ce0aa..9eef55838fca5ff99580982e85ea0c0fa6dea839 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -346,7 +346,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
 	 * pages requested were isolated. If there were any failures, 0 is
 	 * returned and CMA will fail.
 	 */
-	if (strict && nr_strict_required != total_isolated)
+	if (strict && nr_strict_required > total_isolated)
 		total_isolated = 0;
 
 	if (locked)