aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/acpiphp_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/hotplug/acpiphp_core.c')
-rw-r--r--drivers/pci/hotplug/acpiphp_core.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c
index 60c4c38047a3..bce71c933478 100644
--- a/drivers/pci/hotplug/acpiphp_core.c
+++ b/drivers/pci/hotplug/acpiphp_core.c
@@ -429,14 +429,17 @@ static void __exit cleanup_slots (void)
429static int __init acpiphp_init(void) 429static int __init acpiphp_init(void)
430{ 430{
431 int retval; 431 int retval;
432 int docking_station;
432 433
433 info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); 434 info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
434 435
435 acpiphp_debug = debug; 436 acpiphp_debug = debug;
436 437
438 docking_station = find_dock_station();
439
437 /* read all the ACPI info from the system */ 440 /* read all the ACPI info from the system */
438 retval = init_acpi(); 441 retval = init_acpi();
439 if (retval) 442 if (retval && !(docking_station))
440 return retval; 443 return retval;
441 444
442 return init_slots(); 445 return init_slots();
@@ -448,6 +451,8 @@ static void __exit acpiphp_exit(void)
448 cleanup_slots(); 451 cleanup_slots();
449 /* deallocate internal data structures etc. */ 452 /* deallocate internal data structures etc. */
450 acpiphp_glue_exit(); 453 acpiphp_glue_exit();
454
455 remove_dock_station();
451} 456}
452 457
453module_init(acpiphp_init); 458module_init(acpiphp_init);