Am 05.01.24 um 14:47 schrieb Dan Carpenter:
This has a reversed if statement so it accidentally disables the wmi method before returning.
Good catch, you are absolutely right! And on top of that it also breaks WMI event drivers since the WMI_PROBED flag will not be set when the driver successfully probes and instead will be set when the driver fails to probe. For the patch: Reviewed-by: Armin Wolf <W_Armin@xxxxxx> Thanks, Armin Wolf
Fixes: 704af3a40747 ("platform/x86: wmi: Remove chardev interface") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- drivers/platform/x86/wmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 157f1ce8ac0a..e6f6fa2fd080 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -868,7 +868,7 @@ static int wmi_dev_probe(struct device *dev) if (wdriver->probe) { ret = wdriver->probe(dev_to_wdev(dev), find_guid_context(wblock, wdriver)); - if (!ret) { + if (ret) { if (ACPI_FAILURE(wmi_method_enable(wblock, false))) dev_warn(dev, "Failed to disable device\n");