• H
    ACPI / battery: Ignore AC state in handle_discharging on systems where it is broken · 1b799c5c
    Hans de Goede 提交于
    On some devices the "AC" interface ACPI AML code uses the exact same broken
    logic which is causing the battery code to wrongly report discharging to
    determine the "AC" state. Specifically the ACPI AML code is checking the
    charging status bits of the charger-IC rather then the vbus present or
    power-good status bits.
    
    This makes our workaround for devices which wrongly report discharging when
    plugged into AC while the charge is above the start charging threshold not
    work on these devices.
    
    This commit adds a battery_ac_is_broken flag and when that is set it skips
    the power_supply_is_system_supplied() check in the workaround fixing this.
    
    This flag gets set by a DMI quirk selected by systems where we know the AC
    AML code is broken in this way *and* the rate_now value can be trusted.
    Signed-off-by: NHans de Goede <hdegoede@redhat.com>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    1b799c5c
battery.c 44.8 KB