summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/powernv-cpufreq.c
diff options
context:
space:
mode:
authorRafael J. Wysocki2019-02-24 21:18:05 +0100
committerRafael J. Wysocki2019-02-24 21:18:05 +0100
commit17162a117cd0733ad1db728fa804e62ded9a87d6 (patch)
tree24339c44f10e0d524baabb4bd7535f9dd42ec872 /drivers/cpufreq/powernv-cpufreq.c
parentcpufreq: scmi: Fix use-after-free in scmi_cpufreq_exit() (diff)
parentcpufreq: acpi-cpufreq: Report if CPU doesn't support boost technologies (diff)
downloadkernel-qcow2-linux-17162a117cd0733ad1db728fa804e62ded9a87d6.tar.gz
kernel-qcow2-linux-17162a117cd0733ad1db728fa804e62ded9a87d6.tar.xz
kernel-qcow2-linux-17162a117cd0733ad1db728fa804e62ded9a87d6.zip
Merge back earlier cpufreq material for v5.1.
Diffstat (limited to 'drivers/cpufreq/powernv-cpufreq.c')
-rw-r--r--drivers/cpufreq/powernv-cpufreq.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 7e7ad3879c4e..d2230812fa4b 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -244,6 +244,7 @@ static int init_powernv_pstates(void)
u32 len_ids, len_freqs;
u32 pstate_min, pstate_max, pstate_nominal;
u32 pstate_turbo, pstate_ultra_turbo;
+ int rc = -ENODEV;
power_mgt = of_find_node_by_path("/ibm,opal/power-mgt");
if (!power_mgt) {
@@ -327,8 +328,11 @@ next:
powernv_freqs[i].frequency = freq * 1000; /* kHz */
powernv_freqs[i].driver_data = id & 0xFF;
- revmap_data = (struct pstate_idx_revmap_data *)
- kmalloc(sizeof(*revmap_data), GFP_KERNEL);
+ revmap_data = kmalloc(sizeof(*revmap_data), GFP_KERNEL);
+ if (!revmap_data) {
+ rc = -ENOMEM;
+ goto out;
+ }
revmap_data->pstate_id = id & 0xFF;
revmap_data->cpufreq_table_idx = i;
@@ -357,7 +361,7 @@ next:
return 0;
out:
of_node_put(power_mgt);
- return -ENODEV;
+ return rc;
}
/* Returns the CPU frequency corresponding to the pstate_id. */