thermal: cpu_cooling: fix return value check in cpufreq_cooling_register()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 25 Oct 2013 13:55:42 +0000 (21:55 +0800)
committerZhang Rui <rui.zhang@intel.com>
Wed, 6 Nov 2013 05:16:49 +0000 (13:16 +0800)
In case of error, the function thermal_cooling_device_register() returns
ERR_PTR() and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/cpu_cooling.c

index d179028..02a46f2 100644 (file)
@@ -469,10 +469,10 @@ cpufreq_cooling_register(const struct cpumask *clip_cpus)
 
        cool_dev = thermal_cooling_device_register(dev_name, cpufreq_dev,
                                                   &cpufreq_cooling_ops);
-       if (!cool_dev) {
+       if (IS_ERR(cool_dev)) {
                release_idr(&cpufreq_idr, cpufreq_dev->id);
                kfree(cpufreq_dev);
-               return ERR_PTR(-EINVAL);
+               return cool_dev;
        }
        cpufreq_dev->cool_dev = cool_dev;
        cpufreq_dev->cpufreq_state = 0;