platform/x86: wmi: Fix probe failure when failing to register WMI devices
authorArmin Wolf <W_Armin@gmx.de>
Fri, 20 Oct 2023 21:10:03 +0000 (23:10 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 25 Oct 2023 09:46:38 +0000 (12:46 +0300)
commited85891a276edaf7a867de0e9acd0837bc3008f2
tree395ac16101fcd37f098bf9bb01cd778090ab2ea6
parent7444f8347487df8d898fbc022249942806c80fc9
platform/x86: wmi: Fix probe failure when failing to register WMI devices

When a WMI device besides the first one somehow fails to register,
retval is returned while still containing a negative error code. This
causes the ACPI device fail to probe, leaving behind zombie WMI devices
leading to various errors later.

Handle the single error path separately and return 0 unconditionally
after trying to register all WMI devices to solve the issue. Also
continue to register WMI devices even if some fail to allocate memory.

Fixes: 6ee50aaa9a20 ("platform/x86: wmi: Instantiate all devices before adding them")
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20231020211005.38216-4-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