aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/aperture_64.c
diff options
context:
space:
mode:
authorPavel Machek <pavel@suse.cz>2008-05-26 15:17:30 -0400
committerThomas Gleixner <tglx@linutronix.de>2008-06-05 07:59:13 -0400
commit4f384f8bcdb5d618a0a68fb84c809e602c798b8f (patch)
tree87185300a666a1fbb59dcc3cfa6850f1d2a99452 /arch/x86/kernel/aperture_64.c
parentfa5b8a30cf03520737e9a0ee2ee03a61b2eccf05 (diff)
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>
Diffstat (limited to 'arch/x86/kernel/aperture_64.c')
-rw-r--r--arch/x86/kernel/aperture_64.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index e5b17f910f8b..eb20f168c0fd 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -331,9 +331,11 @@ void __init early_gart_iommu_check(void)
331 add_memory_region(aper_base, aper_size, E820_RESERVED); 331 add_memory_region(aper_base, aper_size, E820_RESERVED);
332 update_e820(); 332 update_e820();
333 } 333 }
334 return;
335 } 334 }
336 335
336 if (!fix)
337 return;
338
337 /* different nodes have different setting, disable them all at first*/ 339 /* different nodes have different setting, disable them all at first*/
338 for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { 340 for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) {
339 int bus; 341 int bus;