---
 arch/x86/mm/init.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6/arch/x86/mm/init.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/init.c
+++ linux-2.6/arch/x86/mm/init.c
@@ -305,8 +305,9 @@ static void add_pfn_range_mapped(unsigne
 
 	max_pfn_mapped = max(max_pfn_mapped, end_pfn);
 
-	if (end_pfn <= (1UL << (32 - PAGE_SHIFT)))
-		max_low_pfn_mapped = max(max_low_pfn_mapped, end_pfn);
+	if (start_pfn < (1UL<<(32-PAGE_SHIFT)))
+		max_low_pfn_mapped = max(max_low_pfn_mapped,
+					 min(end_pfn, 1UL<<(32-PAGE_SHIFT)));
 }
 
 bool pfn_range_is_mapped(unsigned long start_pfn, unsigned long end_pfn)
