]> Pileus Git - ~andy/linux/blobdiff - drivers/acpi/scan.c
ACPI / PM: Take unusual configurations of power resources into account
[~andy/linux] / drivers / acpi / scan.c
index f75f25c2e4557fed7d1868c9b6c30a5317cf4045..560b05566f3b8ede33e0b14fa84ee0e3d8575131 100644 (file)
@@ -1004,7 +1004,14 @@ static int acpi_bus_extract_wakeup_device_power_package(acpi_handle handle,
        if (!list_empty(&wakeup->resources)) {
                int sleep_state;
 
-               sleep_state = acpi_power_min_system_level(&wakeup->resources);
+               err = acpi_power_wakeup_list_init(&wakeup->resources,
+                                                 &sleep_state);
+               if (err) {
+                       acpi_handle_warn(handle, "Retrieving current states "
+                                        "of wakeup power resources failed\n");
+                       acpi_power_resources_list_free(&wakeup->resources);
+                       goto out;
+               }
                if (sleep_state < wakeup->sleep_state) {
                        acpi_handle_warn(handle, "Overriding _PRW sleep state "
                                         "(S%d) by S%d from power resources\n",