Re: [PATCH] platform/x86: thinkpad_acpi: Fix errors reading battery thresholds
From: Mark Pearson
Date: Mon Feb 16 2026 - 14:46:46 EST
On Sun, Feb 15, 2026, at 8:01 PM, Jonathan Teh wrote:
> Check whether the battery supports the relevant charge threshold before
> reading the value to silence these errors:
>
> thinkpad_acpi: acpi_evalf(BCTG, dd, ...) failed: AE_NOT_FOUND
> ACPI: \_SB_.PCI0.LPC_.EC__.HKEY: BCTG: evaluate failed
> thinkpad_acpi: acpi_evalf(BCSG, dd, ...) failed: AE_NOT_FOUND
> ACPI: \_SB_.PCI0.LPC_.EC__.HKEY: BCSG: evaluate failed
>
> when reading the charge thresholds via sysfs on platforms that do not
> support them such as the ThinkPad T400.
>
> Fixes: 2801b9683f74 ("thinkpad_acpi: Add support for battery thresholds")
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=202619
> Signed-off-by: Jonathan Teh <jonathan.teh@xxxxxxxxxxx>
> ---
> drivers/platform/x86/lenovo/thinkpad_acpi.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/lenovo/thinkpad_acpi.c
> b/drivers/platform/x86/lenovo/thinkpad_acpi.c
> index 6b0e4b4c485e..86e7194ac006 100644
> --- a/drivers/platform/x86/lenovo/thinkpad_acpi.c
> +++ b/drivers/platform/x86/lenovo/thinkpad_acpi.c
> @@ -9526,14 +9526,16 @@ static int tpacpi_battery_get(int what, int
> battery, int *ret)
> {
> switch (what) {
> case THRESHOLD_START:
> - if ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_START, ret, battery))
> + if (!battery_info.batteries[battery].start_support ||
> + ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_START, ret, battery)))
> return -ENODEV;
>
> /* The value is in the low 8 bits of the response */
> *ret = *ret & 0xFF;
> return 0;
> case THRESHOLD_STOP:
> - if ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_STOP, ret, battery))
> + if (!battery_info.batteries[battery].stop_support ||
> + ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_STOP, ret, battery)))
> return -ENODEV;
> /* Value is in lower 8 bits */
> *ret = *ret & 0xFF;
> --
> 2.53.0
Looks good to me - thanks!
Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
Mark