Commit 66004a6c authored by Linus Torvalds's avatar Linus Torvalds

Move request_standard_resources() back to before PCI probing

This effectively undoes the PCI resource allocation changes done in
commit b408cbc7, 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: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b8feb47f
...@@ -1347,8 +1347,8 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat ...@@ -1347,8 +1347,8 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
/* /*
* Request address space for all standard resources * Request address space for all standard resources
* *
* This is called just before pcibios_assign_resources(), which is also * This is called just before pcibios_init(), which is also a
* an fs_initcall, but is linked in later (in arch/i386/pci/i386.c). * subsys_initcall, but is linked in later (in arch/i386/pci/common.c).
*/ */
static int __init request_standard_resources(void) static int __init request_standard_resources(void)
{ {
...@@ -1369,7 +1369,7 @@ static int __init request_standard_resources(void) ...@@ -1369,7 +1369,7 @@ static int __init request_standard_resources(void)
return 0; return 0;
} }
fs_initcall(request_standard_resources); subsys_initcall(request_standard_resources);
static void __init register_memory(void) static void __init register_memory(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment