Use helper function free_highmem_page() to free highmem pages into
the buddy system.
Also fix a bug that totalhigh_pages should be increased when freeing
a highmem page into the buddy system.
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                        datapages++;
 
 #ifdef CONFIG_HIGHMEM
-       for (pfn = num_physpages - 1; pfn >= num_mappedpages; pfn--) {
-               __free_reserved_page(&mem_map[pfn]);
-               totalram_pages++;
-       }
+       for (pfn = num_physpages - 1; pfn >= num_mappedpages; pfn--)
+               free_highmem_page(&mem_map[pfn]);
 #endif
 
        codek = ((unsigned long) &_etext - (unsigned long) &_stext) >> 10;