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

From: hongbo.zhang
Date: Tue Oct 16 2012 - 07:46:34 EST


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;

maskPtr = &cpufreq_device->allowed_cpus;
cpu = cpumask_any(maskPtr);
--
1.7.11.3

--
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/