• Hans de Goede's avatar
    ACPI / battery: Deal with design or full capacity being reported as -1 · cc99f0ad
    Hans de Goede authored
    Commit b41901a2 ("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: b41901a2 ("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: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    cc99f0ad
battery.c 44.4 KB