diff options
author | Yinghai Lu <Yinghai.Lu@Sun.COM> | 2008-02-05 03:01:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-21 18:34:37 -0500 |
commit | 6e4be1ff2e767fc3a34c5e8d67c3cba107c02099 (patch) | |
tree | 130e3072bae0b579b0afd4f370cc605a2001fafb | |
parent | 9dc625e72309e1c919ea3e7f51d0ffca96123787 (diff) |
PCI: don't load acpi_php when acpi is disabled
When acpi=off and pci=nomsi, don't load acpiphp.
Fixes this:
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread
FFFF81103CC54000 could not acquire Mutex [1] [20070126]
[akpm@linux-foundation.org: export acpi_pci_disabled for acpiphp.ko]
[akpm@linux-foundation.org: fix return statement]
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 3 | ||||
-rw-r--r-- | drivers/pci/hotplug/acpiphp_core.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 680b7300a489..2cdc9de9371d 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -72,7 +72,8 @@ static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) { return | |||
72 | #define PREFIX "ACPI: " | 72 | #define PREFIX "ACPI: " |
73 | 73 | ||
74 | int acpi_noirq; /* skip ACPI IRQ initialization */ | 74 | int acpi_noirq; /* skip ACPI IRQ initialization */ |
75 | int acpi_pci_disabled __initdata; /* skip ACPI PCI scan and IRQ initialization */ | 75 | int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */ |
76 | EXPORT_SYMBOL(acpi_pci_disabled); | ||
76 | int acpi_ht __initdata = 1; /* enable HT */ | 77 | int acpi_ht __initdata = 1; /* enable HT */ |
77 | 78 | ||
78 | int acpi_lapic; | 79 | int acpi_lapic; |
diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c index c8c263875c21..9279d5ba62e6 100644 --- a/drivers/pci/hotplug/acpiphp_core.c +++ b/drivers/pci/hotplug/acpiphp_core.c | |||
@@ -392,6 +392,9 @@ static int __init acpiphp_init(void) | |||
392 | { | 392 | { |
393 | info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); | 393 | info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); |
394 | 394 | ||
395 | if (acpi_pci_disabled) | ||
396 | return 0; | ||
397 | |||
395 | acpiphp_debug = debug; | 398 | acpiphp_debug = debug; |
396 | 399 | ||
397 | /* read all the ACPI info from the system */ | 400 | /* read all the ACPI info from the system */ |
@@ -401,6 +404,9 @@ static int __init acpiphp_init(void) | |||
401 | 404 | ||
402 | static void __exit acpiphp_exit(void) | 405 | static void __exit acpiphp_exit(void) |
403 | { | 406 | { |
407 | if (acpi_pci_disabled) | ||
408 | return; | ||
409 | |||
404 | /* deallocate internal data structures etc. */ | 410 | /* deallocate internal data structures etc. */ |
405 | acpiphp_glue_exit(); | 411 | acpiphp_glue_exit(); |
406 | } | 412 | } |