summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/wmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/wmi.c')
-rw-r--r--drivers/platform/x86/wmi.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index bd271a5730aa..23b4043c0fe7 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -593,9 +593,10 @@ acpi_status wmi_install_notify_handler(const char *guid,
block->handler_data = data;
wmi_status = wmi_method_enable(block, true);
- if ((wmi_status != AE_OK) ||
- ((wmi_status == AE_OK) && (status == AE_NOT_EXIST)))
- status = wmi_status;
+ if (ACPI_FAILURE(wmi_status))
+ dev_warn(&block->dev.dev, "Failed to enable device\n");
+
+ status = AE_OK;
}
}
@@ -631,10 +632,13 @@ acpi_status wmi_remove_notify_handler(const char *guid)
return AE_NULL_ENTRY;
wmi_status = wmi_method_enable(block, false);
+ if (ACPI_FAILURE(wmi_status))
+ dev_warn(&block->dev.dev, "Failed to disable device\n");
+
block->handler = NULL;
block->handler_data = NULL;
- if (wmi_status != AE_OK || (wmi_status == AE_OK && status == AE_NOT_EXIST))
- status = wmi_status;
+
+ status = AE_OK;
}
}