diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 2e71e245df901a5983c5c98e9d5bbf30c70b63eb..11eb8add78202f51a86a9d248b792a1771b16081 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -458,7 +458,7 @@ free_memmap(unsigned long start_pfn, unsigned long end_pfn)
 	 * free the section of the memmap array.
 	 */
 	if (pg < pgend)
-		free_bootmem(pg, pgend - pg);
+		memblock_free_early(pg, pgend - pg);
 }
 
 /*