On 16 October 2012 17:14, hongbo.zhang hongbo.zhang@linaro.org wrote:
From: "hongbo.zhang" hongbo.zhang@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.zhang@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;
I am surprised, why is it written like this in the first place :)
Reviewed-by: Viresh Kumar viresh.kumar@linaro.org