Re: [PATCH v5 00/12] platform/x86: lenovo-wmi-{other,capdata,helpers}: Improve robustness on faulty firmware
From: Ilpo Järvinen
Date: Tue Oct 20 2026 - 09:46:42 EST
On Mon, 19 Oct 2026 23:02:22 +0800, Rong Zhang wrote:
> Some devices do not support LENOVO_CAPABILITY_DATA_01 and define the
> query method as a stub that returns zero buffer. Unfortunately, some
> devices do not implement the stub properly, causing WMI errors
> (including ACPI errors). This was reported by Charles.
>
> The current lenovo-wmi-* implementation enforces the binding between
> LENOVO_CAPABILITY_DATA_00+01 and LENOVO_OTHER_MODE because of a
> limitation of the device component framework. When the capdata device
> bailing out due to a WMI error, lenovo-wmi-other becomes unbound and
> unable to provide firmware-attributes or hwmon/power_supply_ext devices
> for the other functional capdata device.
>
> [...]
Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next branch only once I've pushed my
local branch there, which might take a while.
FYI [if applicable to your patch], as per Linus' policy change, also
fixes are mostly routed through for-next unless the fix is for a
commit introduced in the most recent cycle or is clearly a regression
fix.
The list of commits applied:
[01/12] platform/wmi: Introduce wmidev_exists()
commit: 6e01338e987886c03e58b3523adb1f1df176822e
[02/12] platform/x86: lenovo-wmi-capdata: Do not stop the AC notifier chain on error
commit: 3b53e691e907086672b72d0544e4bf27efd4250d
[03/12] platform/x86: lenovo-wmi-capdata: Only allocate sub-master info when necessary
commit: 6f8252df18828d19030af6538362c6bea59414d1
[04/12] platform/x86: lenovo-wmi-capdata: Store a pointer to component info
commit: c8b350085917f8ed6412ae53f3f13cfca4d79ffa
[05/12] platform/x86: lenovo-wmi-capdata: Defer mutex initialization
commit: 9a4102e4185ad37d41b00d263ac05c370f5c9baf
[06/12] platform/x86: lenovo-wmi-{capdata,other}: Only allocate capdata list when necessary
commit: 50a11dcdbd073a26b152b46d214cc980ecfc8426
[07/12] platform/x86: lenovo-wmi-capdata: Adopt new WMI API
commit: f44eea1b94819cc3a790c24a9cc77d06738050f5
[08/12] platform/x86: lenovo-wmi-capdata: Register component even on WMI error
commit: 952f7fcb161aefcbd6528e34a43932be1f64d839
[09/12] platform/x86: lenovo-wmi-capdata: Detect stubbed capdata device
commit: 41a2ea4df8f036c9420616f29deb8ef5744dfd65
[10/12] platform/x86: lenovo-wmi-capdata: Do not match missing components
commit: 1e99760fb07fbe568d1163795ad3a31825952d45
[11/12] platform/x86: lenovo-wmi-helpers: Adopt new WMI API
commit: 87a7c09a9d4092782820d2c28c09df1d85d4cd93
[12/12] MAINTAINERS: Add myself as a LENOVO drivers co-maintainer
commit: 3c182ededcd4b89d96fdae43a0868b27d93548b5
--
i.