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

From: Ilpo Järvinen

Date: Wed Jul 01 2026 - 04:55:22 EST


On Tue, 30 Jun 2026, Yousef Alhouseen wrote:

> 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.
>
> When the caller requests an output value, return -ENOMSG if firmware
> supplies no object. Preserve a NULL output pointer as the supported way
> for callers to ignore the result.
>
> Signed-off-by: Yousef Alhouseen <alhouseenyousef@xxxxxxxxx>

Should this have a Fixes tag?

> ---
> Changes in v2:
> - Preserve NULL as the supported output-ignore case.
> - Only reject a missing firmware object when output was requested.
>
> drivers/platform/x86/acer-wmi.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
> index e0eaaefb13d0..61ae622c93d9 100644
> --- a/drivers/platform/x86/acer-wmi.c
> +++ b/drivers/platform/x86/acer-wmi.c
> @@ -1581,7 +1581,9 @@ static int WMI_gaming_execute_u32_u64(u32 method_id, u32 in, u64 *out)
> return -EIO;
>
> obj = result.pointer;
> - if (obj && out) {
> + if (!obj && out) {
> + ret = -ENOMSG;
> + } else if (obj && out) {
> switch (obj->type) {
> case ACPI_TYPE_INTEGER:
> *out = obj->integer.value;
>

--
i.