platform/x86: wmi: Make input buffer mandatory when evaluating methods
authorArmin Wolf <W_Armin@gmx.de>
Mon, 12 Feb 2024 18:50:16 +0000 (19:50 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 13 Feb 2024 11:18:11 +0000 (13:18 +0200)
commit5b559e8ab01c8d7a92478f8143ba844161292203
tree8399dd894c41116376a2a1f76a6fa48effbf1bb9
parentd16c9a3d97d1905392e4b86ac9e25fa6c2d5faa3
platform/x86: wmi: Make input buffer mandatory when evaluating methods

The ACPI-WMI specification declares in the section "ACPI Control Method
Naming Conventions and Functionality for Windows 2000 Instrumentation"
that a WMxx control method takes 3 arguments: instance, method id and
argument buffer. This is also the case even when the underlying WMI
method does not have any input arguments.

So if a WMI driver evaluates a WMI method without passing an input
buffer, ACPICA will log a warning complaining that the third argument
is missing.

Prevent this by checking that a input buffer was passed, and return
an error if this was not the case.

Tested on a Asus PRIME B650-Plus.

Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20240212185016.5494-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/wmi.c