From: "hongbo.zhang" <hongbo.zh...@linaro.com>

Is is not reliable to check the list entry pointer after
list_for_each_entry loop, list_empty should be used instead.

Signed-off-by: hongbo.zhang <hongbo.zh...@linaro.com>
---
 drivers/thermal/cpu_cooling.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index b6b4c2a..d196230 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -247,12 +247,13 @@ static int cpufreq_get_max_state(struct 
thermal_cooling_device *cdev,
        struct cpufreq_frequency_table *table;
 
        mutex_lock(&cooling_cpufreq_lock);
+       if (list_empty(&cooling_cpufreq_list))
+               goto return_get_max_state;
+
        list_for_each_entry(cpufreq_device, &cooling_cpufreq_list, node) {
                if (cpufreq_device && cpufreq_device->cool_dev == cdev)
                        break;
        }
-       if (cpufreq_device == NULL)
-               goto return_get_max_state;
 
        maskPtr = &cpufreq_device->allowed_cpus;
        cpu = cpumask_any(maskPtr);
-- 
1.7.11.3


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to