Skip to content

Commit

Permalink
x86: aperture_64.c: corner case wrong
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Pavel Machek authored and Thomas Gleixner committed Jun 5, 2008
1 parent fa5b8a3 commit 4f384f8
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion arch/x86/kernel/aperture_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,9 +331,11 @@ void __init early_gart_iommu_check(void)
add_memory_region(aper_base, aper_size, E820_RESERVED);
update_e820();
}
return;
}

if (!fix)
return;

/* different nodes have different setting, disable them all at first*/
for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) {
int bus;
Expand Down

0 comments on commit 4f384f8

Please sign in to comment.