]> asedeno.scripts.mit.edu Git - linux.git/commit
ACPI / battery: Deal with design or full capacity being reported as -1
authorHans de Goede <hdegoede@redhat.com>
Tue, 10 Dec 2019 09:57:50 +0000 (10:57 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 16 Dec 2019 10:16:57 +0000 (11:16 +0100)
commitcc99f0ad52467028cb1251160f23ad4bb65baf20
tree243934099c1899fdd95cdc03343918cad8dfda67
parentd1eef1c619749b2a57e514a3fa67d9a516ffa919
ACPI / battery: Deal with design or full capacity being reported as -1

Commit b41901a2cf06 ("ACPI / battery: Do not export energy_full[_design]
on devices without full_charge_capacity") added support for some (broken)
devices which always report 0 for both design- and full_charge-capacity.

This assumes that if the capacity is not being reported it is 0. The
ThunderSoft TS178 tablet's _BIX implementation falsifies this assumption.
It reports ACPI_BATTERY_VALUE_UNKNOWN (-1) as full_charge_capacity, which
we treat as a valid value which causes several problems.

This commit fixes this by adding a new ACPI_BATTERY_CAPACITY_VALID() helper
which checks that the value is not 0 and not -1; and using this whenever we
need to test if either design_capacity or full_charge_capacity is valid.

Fixes: b41901a2cf06 ("ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity")
Cc: 4.19+ <stable@vger.kernel.org> # 4.19+
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/battery.c