diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-05-11 09:33:06 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 09:33:15 +0200 |
commit | 134cbf35c739bf89c51fd975a33a6b87507482c4 (patch) | |
tree | c30536dcbb6e99a0f204879bbe5a19bfb27cccf8 /arch/x86/kernel/e820.c | |
parent | 2feceeff1e771850e49f9074307f071964fd9e3e (diff) | |
parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) | |
download | linux-134cbf35c739bf89c51fd975a33a6b87507482c4.tar.gz |
Merge commit 'v2.6.30-rc5' into x86/mm
Merge reason: this branch was on a .30-rc2 base - sync it up with
all the latest fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/e820.c')
-rw-r--r-- | arch/x86/kernel/e820.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index ef2c3563357d..006281302925 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -1074,12 +1074,13 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align) u64 addr; u64 start; - start = startt; - while (size < sizet && (start + 1)) + for (start = startt; ; start += size) { start = find_e820_area_size(start, &size, align); - - if (size < sizet) - return 0; + if (!(start + 1)) + return 0; + if (size >= sizet) + break; + } #ifdef CONFIG_X86_32 if (start >= MAXMEM) |