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
This commit is contained in:
commit
93e7371113
|
@ -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)
|
static void acpi_hotplug_notify_cb(acpi_handle handle, u32 type, void *data)
|
||||||
{
|
{
|
||||||
u32 ost_code = ACPI_OST_SC_NON_SPECIFIC_FAILURE;
|
u32 ost_code = ACPI_OST_SC_NON_SPECIFIC_FAILURE;
|
||||||
struct acpi_scan_handler *handler = data;
|
|
||||||
struct acpi_device *adev;
|
struct acpi_device *adev;
|
||||||
acpi_status status;
|
acpi_status status;
|
||||||
|
|
||||||
|
@ -500,7 +499,10 @@ static void acpi_hotplug_notify_cb(acpi_handle handle, u32 type, void *data)
|
||||||
break;
|
break;
|
||||||
case ACPI_NOTIFY_EJECT_REQUEST:
|
case ACPI_NOTIFY_EJECT_REQUEST:
|
||||||
acpi_handle_debug(handle, "ACPI_NOTIFY_EJECT_REQUEST event\n");
|
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");
|
acpi_handle_err(handle, "Eject disabled\n");
|
||||||
ost_code = ACPI_OST_SC_EJECT_NOT_SUPPORTED;
|
ost_code = ACPI_OST_SC_EJECT_NOT_SUPPORTED;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
|
Loading…
Reference in New Issue