]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
platform/x86/intel-uncore-freq: Check write blocked for ELC
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Sun, 27 Jul 2025 21:05:13 +0000 (14:05 -0700)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 12 Aug 2025 12:04:21 +0000 (15:04 +0300)
Add the missing write_blocked check for updating sysfs related to uncore
efficiency latency control (ELC). If write operation is blocked return
error.

Fixes: bb516dc79c4a ("platform/x86/intel-uncore-freq: Add support for efficiency latency control")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250727210513.2898630-1-srinivas.pandruvada@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c

index 6df55c8e16b793a4780b506ad3aa0960686ebf65..bfcf92aa4d69ddc6badb696d353f4b87a3127ded 100644 (file)
@@ -192,9 +192,14 @@ static int uncore_read_control_freq(struct uncore_data *data, unsigned int *valu
 static int write_eff_lat_ctrl(struct uncore_data *data, unsigned int val, enum uncore_index index)
 {
        struct tpmi_uncore_cluster_info *cluster_info;
+       struct tpmi_uncore_struct *uncore_root;
        u64 control;
 
        cluster_info = container_of(data, struct tpmi_uncore_cluster_info, uncore_data);
+       uncore_root = cluster_info->uncore_root;
+
+       if (uncore_root->write_blocked)
+               return -EPERM;
 
        if (cluster_info->root_domain)
                return -ENODATA;