x86: aperture_64.c: corner case wrong
authorPavel Machek <pavel@suse.cz>
Mon, 26 May 2008 19:17:30 +0000 (21:17 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 5 Jun 2008 11:59:13 +0000 (13:59 +0200)
commit4f384f8bcdb5d618a0a68fb84c809e602c798b8f
tree87185300a666a1fbb59dcc3cfa6850f1d2a99452
parentfa5b8a30cf03520737e9a0ee2ee03a61b2eccf05
x86: aperture_64.c: corner case wrong

If

fix == 0, aper_enabled == 1, gart_fix_e820 == 0

if (!fix && !aper_enabled)
return;

if (gart_fix_e820 && !fix && aper_enabled) {
if (e820_any_mapped(aper_base, aper_base + aper_size,
    E820_RAM)) {
/* reserve it, so we can reuse it in second kernel */
printk(KERN_INFO "update e820 for GART\n");
add_memory_region(aper_base, aper_size, E820_RESERVED);
update_e820();
}
return;
}

/* different nodes have different setting, disable them all atfirst*/

we'll fall back here and disable all the settings, even when they were
all consistent.

What about this? (I hope it compiles...)

Signed-off-by: Pavel Machek <pavel@suse.cz>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/aperture_64.c