Commit 1dd2058f authored by Dan Carpenter's avatar Dan Carpenter Committed by Rafael J. Wysocki

cpufreq: qcom-kryo: Fix error handling in probe()

We should return if get_cpu_device() fails or it leads to a NULL
dereference.  Also dev_pm_opp_of_get_opp_desc_node() returns NULL on
error, it never returns error pointers.

Fixes: 46e2856b (cpufreq: Add Kryo CPU scaling driver)
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 7daf201d
...@@ -87,8 +87,8 @@ static int qcom_cpufreq_kryo_probe(struct platform_device *pdev) ...@@ -87,8 +87,8 @@ static int qcom_cpufreq_kryo_probe(struct platform_device *pdev)
int ret; int ret;
cpu_dev = get_cpu_device(0); cpu_dev = get_cpu_device(0);
if (NULL == cpu_dev) if (!cpu_dev)
ret = -ENODEV; return -ENODEV;
msm8996_version = qcom_cpufreq_kryo_get_msm_id(); msm8996_version = qcom_cpufreq_kryo_get_msm_id();
if (NUM_OF_MSM8996_VERSIONS == msm8996_version) { if (NUM_OF_MSM8996_VERSIONS == msm8996_version) {
...@@ -97,8 +97,8 @@ static int qcom_cpufreq_kryo_probe(struct platform_device *pdev) ...@@ -97,8 +97,8 @@ static int qcom_cpufreq_kryo_probe(struct platform_device *pdev)
} }
np = dev_pm_opp_of_get_opp_desc_node(cpu_dev); np = dev_pm_opp_of_get_opp_desc_node(cpu_dev);
if (IS_ERR(np)) if (!np)
return PTR_ERR(np); return -ENOENT;
ret = of_device_is_compatible(np, "operating-points-v2-kryo-cpu"); ret = of_device_is_compatible(np, "operating-points-v2-kryo-cpu");
if (!ret) { if (!ret) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment