From: Greg Kroah-Hartman Date: Sat, 12 Jul 2025 14:54:44 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v5.15.188~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=463af188597603a9f86c85960ca78567d8d3ec55;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: revert-acpi-battery-negate-current-when-discharging.patch --- diff --git a/queue-5.4/revert-acpi-battery-negate-current-when-discharging.patch b/queue-5.4/revert-acpi-battery-negate-current-when-discharging.patch new file mode 100644 index 0000000000..74085014ed --- /dev/null +++ b/queue-5.4/revert-acpi-battery-negate-current-when-discharging.patch @@ -0,0 +1,51 @@ +From de1675de39aa945bad5937d1fde4df3682670639 Mon Sep 17 00:00:00 2001 +From: "Rafael J. Wysocki" +Date: Thu, 3 Jul 2025 12:54:55 +0200 +Subject: Revert "ACPI: battery: negate current when discharging" + +From: Rafael J. Wysocki + +commit de1675de39aa945bad5937d1fde4df3682670639 upstream. + +Revert commit 234f71555019 ("ACPI: battery: negate current when +discharging") breaks not one but several userspace implementations +of battery monitoring: Steam and MangoHud. Perhaps it breaks more, +but those are the two that have been tested. + +Reported-by: Matthew Schwartz +Closes: https://lore.kernel.org/linux-acpi/87C1B2AF-D430-4568-B620-14B941A8ABA4@linux.dev/ +Signed-off-by: Rafael J. Wysocki +Signed-off-by: Greg Kroah-Hartman +--- + drivers/acpi/battery.c | 19 +++---------------- + 1 file changed, 3 insertions(+), 16 deletions(-) + +--- a/drivers/acpi/battery.c ++++ b/drivers/acpi/battery.c +@@ -266,23 +266,10 @@ static int acpi_battery_get_property(str + break; + case POWER_SUPPLY_PROP_CURRENT_NOW: + case POWER_SUPPLY_PROP_POWER_NOW: +- if (battery->rate_now == ACPI_BATTERY_VALUE_UNKNOWN) { ++ if (battery->rate_now == ACPI_BATTERY_VALUE_UNKNOWN) + ret = -ENODEV; +- break; +- } +- +- val->intval = battery->rate_now * 1000; +- /* +- * When discharging, the current should be reported as a +- * negative number as per the power supply class interface +- * definition. +- */ +- if (psp == POWER_SUPPLY_PROP_CURRENT_NOW && +- (battery->state & ACPI_BATTERY_STATE_DISCHARGING) && +- acpi_battery_handle_discharging(battery) +- == POWER_SUPPLY_STATUS_DISCHARGING) +- val->intval = -val->intval; +- ++ else ++ val->intval = battery->rate_now * 1000; + break; + case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: + case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN: diff --git a/queue-5.4/series b/queue-5.4/series index aa907d45e2..ee537fb8af 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -126,3 +126,4 @@ x86-mce-make-sure-cmci-banks-are-cleared-during-shutdown-on-intel.patch pinctrl-qcom-msm-mark-certain-pins-as-invalid-for-interrupts.patch drm-sched-increment-job-count-before-swapping-tail-spsc-queue.patch usb-gadget-u_serial-fix-race-condition-in-tty-wakeup.patch +revert-acpi-battery-negate-current-when-discharging.patch