aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-04-09 15:14:02 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-09 15:14:02 -0400
commit66004a6ca23f2a2408b32cbe27fda0389fb8f9dc (patch)
tree7f11359eec8c511e5fcf7340c93f9a84a2bad0e2 /arch/i386
parentb8feb47f992d314c956add15c1118430120635bb (diff)
Move request_standard_resources() back to before PCI probing
This effectively undoes the PCI resource allocation changes done in commit b408cbc704352eccee301e1103b23203ba1c3a0e, but leaves the cleanups of that commit in place. We're going back to marking the resources reported by e820 busy _before_ doing PCI probing, so that any PCI resource that clashes with the BIOS- reported memory map will be reloacted to a non-clashing area. The reason? Larry Finger reports that his laptop has the cardbus controller set up by the BIOS so that it conflicts with the e820 memory map, and needs to be relocated. See http://bugzilla.kernel.org/show_bug.cgi?id=6337 for more details. We'll have to work out how to handle the fbcon problem that caused that commit in the first place in some other way. Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Antonino A. Daplas <adaplas@pol.net> Cc: <bjk@luxsci.net> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386')
-rw-r--r--arch/i386/kernel/setup.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 8e70894a9f86..80cb3b2d0997 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -1347,8 +1347,8 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
1347/* 1347/*
1348 * Request address space for all standard resources 1348 * Request address space for all standard resources
1349 * 1349 *
1350 * This is called just before pcibios_assign_resources(), which is also 1350 * This is called just before pcibios_init(), which is also a
1351 * an fs_initcall, but is linked in later (in arch/i386/pci/i386.c). 1351 * subsys_initcall, but is linked in later (in arch/i386/pci/common.c).
1352 */ 1352 */
1353static int __init request_standard_resources(void) 1353static int __init request_standard_resources(void)
1354{ 1354{
@@ -1369,7 +1369,7 @@ static int __init request_standard_resources(void)
1369 return 0; 1369 return 0;
1370} 1370}
1371 1371
1372fs_initcall(request_standard_resources); 1372subsys_initcall(request_standard_resources);
1373 1373
1374static void __init register_memory(void) 1374static void __init register_memory(void)
1375{ 1375{