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

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

diff --git a/queue-6.6/revert-acpi-battery-negate-current-when-discharging.patch b/queue-6.6/revert-acpi-battery-negate-current-when-discharging.patch
new file mode 100644 (file)
index 0000000..d2a0f59
--- /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
+@@ -243,23 +243,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 03f91ae13a7548c3624a35e157714ac3ff39169d..8071f0b5d0b536cbf8a5ff6e2f40f7ee1e63209c 100644 (file)
@@ -48,3 +48,4 @@ drm-gem-fix-race-in-drm_gem_handle_create_tail.patch
 usb-gadget-u_serial-fix-race-condition-in-tty-wakeup.patch
 revert-usb-gadget-u_serial-add-null-pointer-check-in-gs_start_io.patch
 drm-framebuffer-acquire-internal-references-on-gem-handles.patch
+revert-acpi-battery-negate-current-when-discharging.patch