[PATCH] pvpanic: handle missing _STA correctly

From: Radim KrÄmÃÅ
Date: Fri May 29 2015 - 16:27:25 EST


pvpanic was not properly detected when _STA was missing.

ACPI 6.0 April 2015, 6.3.7 _STA (Status)
If a device object (including the processor object) does not have an
_STA object, then OSPM assumes that all of the above bits are set
(i.e., the device is present, enabled, shown in the UI, and
functioning).

Not adhering to the specification made pvpanic dormant under QEMU 2.3.

Suggested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>
---
drivers/platform/x86/pvpanic.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/platform/x86/pvpanic.c b/drivers/platform/x86/pvpanic.c
index 073a90a63dbc..7b6860333267 100644
--- a/drivers/platform/x86/pvpanic.c
+++ b/drivers/platform/x86/pvpanic.c
@@ -95,8 +95,7 @@ static int pvpanic_add(struct acpi_device *device)
acpi_status status;
u64 ret;

- status = acpi_evaluate_integer(device->handle, "_STA", NULL,
- &ret);
+ status = acpi_bus_get_status_handle(device->handle, &ret);

if (ACPI_FAILURE(status) || (ret & 0x0B) != 0x0B)
return -ENODEV;
--
2.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/