diff --git a/mm/memblock.c b/mm/memblock.c
index ac1248933b3172d6d46ddf3ccf0745db2371adce..ca099159b45a82c2f1fcfbad28fc14221953a8ee 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -584,6 +584,9 @@ int __init_memblock memblock_add_range(struct memblock_type *type,
 					       nid, flags);
 	}
 
+	if (!nr_new)
+		return 0;
+
 	/*
 	 * If this was the first round, resize array and repeat for actual
 	 * insertions; otherwise, merge and return.