]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 Jul 2025 14:54:44 +0000 (16:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 Jul 2025 14:54:44 +0000 (16:54 +0200)
added patches:
revert-acpi-battery-negate-current-when-discharging.patch

queue-5.4/revert-acpi-battery-negate-current-when-discharging.patch [new file with mode: 0644]
queue-5.4/series

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 (file)
index 0000000..7408501
--- /dev/null
@@ -0,0 +1,51 @@
+From de1675de39aa945bad5937d1fde4df3682670639 Mon Sep 17 00:00:00 2001
+From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
+Date: Thu, 3 Jul 2025 12:54:55 +0200
+Subject: Revert "ACPI: battery: negate current when discharging"
+
+From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+
+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 <matthew.schwartz@linux.dev>
+Closes: https://lore.kernel.org/linux-acpi/87C1B2AF-D430-4568-B620-14B941A8ABA4@linux.dev/
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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:
index aa907d45e292ed3c5a077047bb508fb72bba6c6c..ee537fb8af15af1fda91bfe38c4b9677e8f112e7 100644 (file)
@@ -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