summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Valentin <eduardo.valentin@ti.com>2013-08-15 10:54:46 -0400
committerMyungJoo Ham <myungjoo.ham@samsung.com>2013-11-15 13:52:54 +0900
commit170fd934745b29cf49418d2e54c19154904a3db0 (patch)
tree83c61030a8b1fba2ffc8337358c58dd5c12e6c41
parent3f14c783e0683f0d8186383712d9675f471feed4 (diff)
downloadlinux-3.10-170fd934745b29cf49418d2e54c19154904a3db0.tar.gz
linux-3.10-170fd934745b29cf49418d2e54c19154904a3db0.tar.bz2
linux-3.10-170fd934745b29cf49418d2e54c19154904a3db0.zip
drivers: thermal: add check when unregistering cpu cooling
This patch avoids NULL pointer accesses while unregistering cpu cooling devices, in case a NULL pointer is received. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
-rw-r--r--drivers/thermal/cpu_cooling.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 5b3744e7a95..d17902886c3 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -498,8 +498,12 @@ EXPORT_SYMBOL_GPL(cpufreq_cooling_register);
*/
void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
{
- struct cpufreq_cooling_device *cpufreq_dev = cdev->devdata;
+ struct cpufreq_cooling_device *cpufreq_dev;
+ if (!cdev)
+ return;
+
+ cpufreq_dev = cdev->devdata;
mutex_lock(&cooling_cpufreq_lock);
cpufreq_dev_count--;