[PATCH] platform/x86: acer-wmi: reject missing gaming WMI results

From: Yousef Alhouseen

Date: Tue Jun 30 2026 - 06:52:08 EST


WMI_gaming_execute_u32_u64() returns success when firmware supplies
no output object, leaving the caller output untouched. Gaming getters
then inspect an uninitialized result value.

Return -ENOMSG for a missing object and -EINVAL for a missing output
pointer, matching the existing malformed-result handling.

Signed-off-by: Yousef Alhouseen <alhouseenyousef@xxxxxxxxx>
---
drivers/platform/x86/acer-wmi.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index e0eaaefb13d0..81d354c80cd2 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -1581,7 +1581,11 @@ static int WMI_gaming_execute_u32_u64(u32 method_id, u32 in, u64 *out)
return -EIO;

obj = result.pointer;
- if (obj && out) {
+ if (!obj) {
+ ret = -ENOMSG;
+ } else if (!out) {
+ ret = -EINVAL;
+ } else {
switch (obj->type) {
case ACPI_TYPE_INTEGER:
*out = obj->integer.value;
--
2.54.0