From: Thomas Renninger <trenn@xxxxxxx> akpm: needs a changelog Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/acpi/processor_core.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff -puN drivers/acpi/processor_core.c~exit-acpi-processor-module-gracefully-if-acpi-is-disabled drivers/acpi/processor_core.c --- a/drivers/acpi/processor_core.c~exit-acpi-processor-module-gracefully-if-acpi-is-disabled +++ a/drivers/acpi/processor_core.c @@ -1030,6 +1030,8 @@ void acpi_processor_uninstall_hotplug_no * ACPI, but needs symbols from this driver */ +static int processor_driver_registered; + static int __init acpi_processor_init(void) { int result = 0; @@ -1055,6 +1057,8 @@ static int __init acpi_processor_init(vo return result; } + processor_driver_registered = 1; + acpi_processor_install_hotplug_notify(); acpi_thermal_cpufreq_init(); @@ -1068,15 +1072,12 @@ static void __exit acpi_processor_exit(v { acpi_processor_ppc_exit(); - - acpi_thermal_cpufreq_exit(); - - acpi_processor_uninstall_hotplug_notify(); - - acpi_bus_unregister_driver(&acpi_processor_driver); - - remove_proc_entry(ACPI_PROCESSOR_CLASS, acpi_root_dir); - + if (processor_driver_registered) { + acpi_thermal_cpufreq_exit(); + acpi_processor_uninstall_hotplug_notify(); + acpi_bus_unregister_driver(&acpi_processor_driver); + remove_proc_entry(ACPI_PROCESSOR_CLASS, acpi_root_dir); + } return; } _ - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html