FAILED: patch "[PATCH] platform/x86/intel-uncore-freq: Fix current_freq_khz after" failed to apply to 6.6-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 6b63520ed14b17bbe9c2103debbd2152dde1fba3
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026072030-guy-reborn-3b8c@gregkh' --subject-prefix 'PATCH 6.6.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6b63520ed14b17bbe9c2103debbd2152dde1fba3 Mon Sep 17 00:00:00 2001
From: Guixiong Wei <[email protected]>
Date: Tue, 2 Jun 2026 10:07:52 +0800
Subject: [PATCH] platform/x86/intel-uncore-freq: Fix current_freq_khz after
CPU hotplug
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When the last CPU of a legacy uncore die goes offline, uncore_freq_remove_die_entry() clears control_cpu. During CPU hotplug re-add, uncore_freq_add_entry() still populates sysfs attributes before assigning the new control CPU. As a result, the current frequency read returns -ENXIO and current_freq_khz is omitted from the recreated sysfs group.
Assign control_cpu before the initial read paths and before create_attr_group() so sysfs recreation uses the new online CPU. If sysfs creation fails, restore control_cpu to -1 to keep the error path state consistent.
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c +6 -1
@@ -285,15 +285,20 @@ int uncore_freq_add_entry(struct uncore_data *data, int cpu) data->package_id, data->die_id); } +/* +* Set the control CPU before any read path so entry recreation after CPU +* hotplug can populate read-only attributes from the new online CPU. +*/ + data->control_cpu = cpu;uncore_read (data, &data->initial_min_freq_khz,UNCORE_INDEX_MIN_FREQ );uncore_read (data, &data->initial_max_freq_khz,UNCORE_INDEX_MAX_FREQ ); ret =create_attr_group (data, data->name);if (ret) { + data->control_cpu =-1 ;if (data->domain_id !=UNCORE_DOMAIN_ID_INVALID )ida_free (&intel_uncore_ida, data->seqnum_id); }else { - data->control_cpu = cpu; data->valid = true; }
PATCH 1/1 platform/x86/intel-uncore-freq: Fix current_freq_khz after CPU hotplug
commit 6b63520ed14b17bbe9c2103debbd2152dde1fba3 upstream.
When the last CPU of a legacy uncore die goes offline, uncore_freq_remove_die_entry() clears control_cpu. During CPU hotplug re-add, uncore_freq_add_entry() still populates sysfs attributes before assigning the new control CPU. As a result, the current frequency read returns -ENXIO and current_freq_khz is omitted from the recreated sysfs group.
Assign control_cpu before the initial read paths and before create_attr_group() so sysfs recreation uses the new online CPU. If sysfs creation fails, restore control_cpu to -1 to keep the error path state consistent.
--- .../x86/intel/uncore-frequency/uncore-frequency-common.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c +6 -1
@@ -238,14 +238,19 @@ int uncore_freq_add_entry(struct uncore_data *data, int cpu)sprintf (data->name,"package_%02d_die_%02d" , data->package_id, data->die_id); } +/* +* Set the control CPU before any read path so entry recreation after CPU +* hotplug can populate read-only attributes from the new online CPU. +*/ + data->control_cpu = cpu;uncore_read (data, &data->initial_min_freq_khz, &data->initial_max_freq_khz); ret =create_attr_group (data, data->name);if (ret) { + data->control_cpu =-1 ;if (data->domain_id !=UNCORE_DOMAIN_ID_INVALID )ida_free (&intel_uncore_ida, data->instance_id); }else { - data->control_cpu = cpu; data->valid = true; }
Signature · 1 line
2.39.5
Re: [PATCH 6.6.y] platform/x86/intel-uncore-freq: Fix current_freq_khz after CPU hotplug
Quoted 6 lines
commit
6b63520ed14b17bbe9c2103debbd2152dde1fba3upstream.When the last CPU of a legacy uncore die goes offline,
uncore_freq_remove_die_entry()clearscontrol_cpu. During CPU hotplug re-add,uncore_freq_add_entry()still populates sysfs attributes before assigning the new control CPU.
Queued for 6.6, thanks.
Signature · 2 lines
Thanks, Sasha