Commit 7f1b998a authored by Armin Wolf's avatar Armin Wolf Committed by Ilpo Järvinen

platform/x86: wmi: Check if WMxx control method exists

Some devices like the MSI GF63-12VF contain WMI method blocks
without providing the necessary WMxx ACPI control methods.
Avoid creating WMI devices for such WMI method blocks since
the resulting WMI device is going to be unusable.
Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20240206220447.3102-1-W_Armin@gmx.deReviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 197b9806
......@@ -958,6 +958,15 @@ static int wmi_create_device(struct device *wmi_bus_dev,
}
if (wblock->gblock.flags & ACPI_WMI_METHOD) {
get_acpi_method_name(wblock, 'M', method);
if (!acpi_has_method(device->handle, method)) {
dev_warn(wmi_bus_dev,
FW_BUG "%s method block execution control method not found\n",
method);
return -ENXIO;
}
wblock->dev.dev.type = &wmi_type_method;
goto out_init;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment