drivers: thermal: add check when unregistering cpu cooling
Eduardo Valentin [Fri, 7 Feb 2014 10:44:06 +0000 (02:44 -0800)]
This patch avoids NULL pointer accesses while unregistering
cpu cooling devices, in case a NULL pointer is received.

Change-Id: I24bba42b2d2c638aa25d65262982e2dbdbce5f08
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>
Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com> # for the NVIDIA downstream kernel
Reviewed-on: http://git-master/r/356885
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>

drivers/thermal/cpu_cooling.c

index 5b3744e..d179028 100644 (file)
@@ -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--;