Re: [PATCH 3/5] Thermal: fix empty list checking method.

From: Viresh Kumar
Date: Wed Oct 17 2012 - 10:23:53 EST


On 16 October 2012 17:14, hongbo.zhang <hongbo.zhang@xxxxxxxxxx> wrote:
> From: "hongbo.zhang" <hongbo.zhang@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/