]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Oct 2022 08:41:23 +0000 (10:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Oct 2022 08:41:23 +0000 (10:41 +0200)
added patches:
thermal-intel_powerclamp-use-first-online-cpu-as-control_cpu.patch

queue-6.0/series
queue-6.0/thermal-intel_powerclamp-use-first-online-cpu-as-control_cpu.patch [new file with mode: 0644]

index c0339719a01ddc85726734befa783a9ee756cd7a..8ea6de17c9251d54c73aa5b21a3b603976954d23 100644 (file)
@@ -1,3 +1,4 @@
 drm-i915-bios-validate-fp_timing-terminator-presence.patch
 drm-i915-bios-use-hardcoded-fp_timing-size-for-generating-lfp-data-pointers.patch
 pinctrl-amd-change-dev_warn-to-dev_dbg-for-additional-feature-support.patch
+thermal-intel_powerclamp-use-first-online-cpu-as-control_cpu.patch
diff --git a/queue-6.0/thermal-intel_powerclamp-use-first-online-cpu-as-control_cpu.patch b/queue-6.0/thermal-intel_powerclamp-use-first-online-cpu-as-control_cpu.patch
new file mode 100644 (file)
index 0000000..9922259
--- /dev/null
@@ -0,0 +1,44 @@
+From 4bb7f6c2781e46fc5bd00475a66df2ea30ef330d Mon Sep 17 00:00:00 2001
+From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
+Date: Thu, 13 Oct 2022 14:50:28 +0200
+Subject: thermal: intel_powerclamp: Use first online CPU as control_cpu
+
+From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+
+commit 4bb7f6c2781e46fc5bd00475a66df2ea30ef330d upstream.
+
+Commit 68b99e94a4a2 ("thermal: intel_powerclamp: Use get_cpu() instead
+of smp_processor_id() to avoid crash") fixed an issue related to using
+smp_processor_id() in preemptible context by replacing it with a pair
+of get_cpu()/put_cpu(), but what is needed there really is any online
+CPU and not necessarily the one currently running the code.  Arguably,
+getting the one that's running the code in there is confusing.
+
+For this reason, simply give the control CPU role to the first online
+one which automatically will be CPU0 if it is online, so one check
+can be dropped from the code for an added benefit.
+
+Link: https://lore.kernel.org/linux-pm/20221011113646.GA12080@duo.ucw.cz/
+Fixes: 68b99e94a4a2 ("thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash")
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Reviewed-by: Chen Yu <yu.c.chen@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/thermal/intel/intel_powerclamp.c |    6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+--- a/drivers/thermal/intel/intel_powerclamp.c
++++ b/drivers/thermal/intel/intel_powerclamp.c
+@@ -531,11 +531,7 @@ static int start_power_clamp(void)
+       cpus_read_lock();
+       /* prefer BSP */
+-      control_cpu = 0;
+-      if (!cpu_online(control_cpu)) {
+-              control_cpu = get_cpu();
+-              put_cpu();
+-      }
++      control_cpu = cpumask_first(cpu_online_mask);
+       clamping = true;
+       schedule_delayed_work(&poll_pkg_cstate_work, 0);