A failure to evaluate _S0W will effectively result in the suspend state for PCI devices being set to D0. We should limit that to genuine failures rather than doing so if the method isn't present. Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx> --- drivers/acpi/sleep.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index cf82989..ab0ba78 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c @@ -609,9 +609,9 @@ int acpi_pm_device_sleep_state(struct device *dev, int *d_min_p) acpi_method[3] = 'W'; status = acpi_evaluate_integer(handle, acpi_method, NULL, &d_max); - if (ACPI_FAILURE(status)) { + if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { d_max = d_min; - } else if (d_max < d_min) { + } else if (ACPI_SUCCESS(status) && d_max < d_min) { /* Warn the user of the broken DSDT */ printk(KERN_WARNING "ACPI: Wrong value from %s\n", acpi_method); -- 1.7.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html