Skip to content

Commit 53e977b

Browse files
jonathan-tehij-intel
authored andcommitted
platform/x86: thinkpad_acpi: Fix errors reading battery thresholds
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: 2801b96 ("thinkpad_acpi: Add support for battery thresholds") Closes: https://bugzilla.kernel.org/show_bug.cgi?id=202619 Signed-off-by: Jonathan Teh <jonathan.teh@outlook.com> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Link: https://patch.msgid.link/MI0P293MB01967B206E1CA6F337EBFB12926CA@MI0P293MB0196.ITAP293.PROD.OUTLOOK.COM Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
1 parent 13fa3aa commit 53e977b

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

drivers/platform/x86/lenovo/thinkpad_acpi.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9525,14 +9525,16 @@ static int tpacpi_battery_get(int what, int battery, int *ret)
95259525
{
95269526
switch (what) {
95279527
case THRESHOLD_START:
9528-
if ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_START, ret, battery))
9528+
if (!battery_info.batteries[battery].start_support ||
9529+
ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_START, ret, battery)))
95299530
return -ENODEV;
95309531

95319532
/* The value is in the low 8 bits of the response */
95329533
*ret = *ret & 0xFF;
95339534
return 0;
95349535
case THRESHOLD_STOP:
9535-
if ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_STOP, ret, battery))
9536+
if (!battery_info.batteries[battery].stop_support ||
9537+
ACPI_FAILURE(tpacpi_battery_acpi_eval(GET_STOP, ret, battery)))
95369538
return -ENODEV;
95379539
/* Value is in lower 8 bits */
95389540
*ret = *ret & 0xFF;

0 commit comments

Comments
 (0)