x86: Fix S4 regression

Commit 4b239f458 ("x86-64, mm: Put early page table high") causes a S4
regression since 2.6.39, namely the machine reboots occasionally at S4
resume. It doesn't happen always, overall rate is about 1/20. But,
like other bugs, once when this happens, it continues to happen.

This patch fixes the problem by essentially reverting the memory
assignment in the older way.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Yinghai Lu <yinghai.lu@oracle.com>
[ We'll hopefully find the real fix, but that's too late for 3.1 now ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Takashi Iwai and committed by Linus Torvalds 8548c84d 1bf1aace

Changed files
+1 -2
arch
x86
mm
+1 -2
arch/x86/mm/init.c
··· 63 63 #ifdef CONFIG_X86_32 64 64 /* for fixmap */ 65 65 tables += roundup(__end_of_fixed_addresses * sizeof(pte_t), PAGE_SIZE); 66 - 67 - good_end = max_pfn_mapped << PAGE_SHIFT; 68 66 #endif 67 + good_end = max_pfn_mapped << PAGE_SHIFT; 69 68 70 69 base = memblock_find_in_range(start, good_end, tables, PAGE_SIZE); 71 70 if (base == MEMBLOCK_ERROR)