Message ID | 1350387889-15324-4-git-send-email-hongbo.zhang@linaro.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
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> -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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);