diff options
author | Rafael J. Wysocki | 2014-02-06 23:07:55 +0100 |
---|---|---|
committer | Rafael J. Wysocki | 2014-02-06 23:07:55 +0100 |
commit | 93e73711134efabe020ac8385a89c57b15255f9e (patch) | |
tree | 25ab1ce4a3c9a66a1f2cd240d9f28ababe4f8070 /drivers | |
parent | af9d8adc6b832003bbe3d83fde665ae6b4f072eb (diff) | |
parent | 8fcfb99c8e29c73dd8945b6105ef54ca4eeb171e (diff) |
Merge branches 'acpi-pci-hotplug' and 'acpi-hotplug'
* acpi-pci-hotplug:
ACPI / hotplug / PCI: Fix bridge removal race vs dock events
ACPI / hotplug / PCI: Fix bridge removal race in handle_hotplug_event()
ACPI / hotplug / PCI: Scan root bus under the PCI rescan-remove lock
ACPI / hotplug / PCI: Move PCI rescan-remove locking to hotplug_event()
ACPI / hotplug / PCI: Remove entries from bus->devices in reverse order
* acpi-hotplug:
ACPI / hotplug: Fix panic on eject to ejected device
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/scan.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 7384158c7f87..57b053f424d1 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -484,7 +484,6 @@ static void acpi_device_hotplug(void *data, u32 src) static void acpi_hotplug_notify_cb(acpi_handle handle, u32 type, void *data) { u32 ost_code = ACPI_OST_SC_NON_SPECIFIC_FAILURE; - struct acpi_scan_handler *handler = data; struct acpi_device *adev; acpi_status status; @@ -500,7 +499,10 @@ static void acpi_hotplug_notify_cb(acpi_handle handle, u32 type, void *data) break; case ACPI_NOTIFY_EJECT_REQUEST: acpi_handle_debug(handle, "ACPI_NOTIFY_EJECT_REQUEST event\n"); - if (!handler->hotplug.enabled) { + if (!adev->handler) + goto err_out; + + if (!adev->handler->hotplug.enabled) { acpi_handle_err(handle, "Eject disabled\n"); ost_code = ACPI_OST_SC_EJECT_NOT_SUPPORTED; goto err_out; |