diff options
Diffstat (limited to 'drivers/pci/hotplug/sgi_hotplug.c')
-rw-r--r-- | drivers/pci/hotplug/sgi_hotplug.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/pci/hotplug/sgi_hotplug.c b/drivers/pci/hotplug/sgi_hotplug.c index bada20999870..c32fb786d48e 100644 --- a/drivers/pci/hotplug/sgi_hotplug.c +++ b/drivers/pci/hotplug/sgi_hotplug.c | |||
@@ -475,7 +475,7 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot) | |||
475 | struct slot *slot = bss_hotplug_slot->private; | 475 | struct slot *slot = bss_hotplug_slot->private; |
476 | struct pci_dev *dev, *temp; | 476 | struct pci_dev *dev, *temp; |
477 | int rc; | 477 | int rc; |
478 | acpi_owner_id ssdt_id = 0; | 478 | acpi_handle ssdt_hdl = NULL; |
479 | 479 | ||
480 | /* Acquire update access to the bus */ | 480 | /* Acquire update access to the bus */ |
481 | mutex_lock(&sn_hotplug_mutex); | 481 | mutex_lock(&sn_hotplug_mutex); |
@@ -522,7 +522,7 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot) | |||
522 | if (ACPI_SUCCESS(ret) && | 522 | if (ACPI_SUCCESS(ret) && |
523 | (adr>>16) == (slot->device_num + 1)) { | 523 | (adr>>16) == (slot->device_num + 1)) { |
524 | /* retain the owner id */ | 524 | /* retain the owner id */ |
525 | acpi_get_id(chandle, &ssdt_id); | 525 | ssdt_hdl = chandle; |
526 | 526 | ||
527 | ret = acpi_bus_get_device(chandle, | 527 | ret = acpi_bus_get_device(chandle, |
528 | &device); | 528 | &device); |
@@ -547,12 +547,13 @@ static int disable_slot(struct hotplug_slot *bss_hotplug_slot) | |||
547 | pci_unlock_rescan_remove(); | 547 | pci_unlock_rescan_remove(); |
548 | 548 | ||
549 | /* Remove the SSDT for the slot from the ACPI namespace */ | 549 | /* Remove the SSDT for the slot from the ACPI namespace */ |
550 | if (SN_ACPI_BASE_SUPPORT() && ssdt_id) { | 550 | if (SN_ACPI_BASE_SUPPORT() && ssdt_hdl) { |
551 | acpi_status ret; | 551 | acpi_status ret; |
552 | ret = acpi_unload_table_id(ssdt_id); | 552 | ret = acpi_unload_parent_table(ssdt_hdl); |
553 | if (ACPI_FAILURE(ret)) { | 553 | if (ACPI_FAILURE(ret)) { |
554 | printk(KERN_ERR "%s: acpi_unload_table_id failed (0x%x) for id %d\n", | 554 | acpi_handle_err(ssdt_hdl, |
555 | __func__, ret, ssdt_id); | 555 | "%s: acpi_unload_parent_table failed (0x%x)\n", |
556 | __func__, ret); | ||
556 | /* try to continue on */ | 557 | /* try to continue on */ |
557 | } | 558 | } |
558 | } | 559 | } |