thermal: thermal_core: remove usage of IS_ERR_OR_NULL
authorEduardo Valentin <eduardo.valentin@ti.com>
Thu, 25 Apr 2013 14:13:33 +0000 (14:13 +0000)
committerZhang Rui <rui.zhang@intel.com>
Sat, 27 Apr 2013 01:28:25 +0000 (09:28 +0800)
This patch changes the driver to avoid the usage of IS_ERR_OR_NULL()
macro. This macro can lead to dangerous results, like returning
success (0) during a failure scenario (NULL pointer handling).

The case present in this patch has simply be translated to
normal check for NULL and if the pointer has an error code.
The later case is needed because functions like
thermal_zone_get_zone_by_name() could return an ERR_PTR().

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/thermal_core.c

index f36cd44..d755440 100644 (file)
@@ -388,7 +388,7 @@ int thermal_zone_get_temp(struct thermal_zone_device *tz, unsigned long *temp)
        enum thermal_trip_type type;
 #endif
 
-       if (IS_ERR_OR_NULL(tz))
+       if (!tz || IS_ERR(tz))
                goto exit;
 
        mutex_lock(&tz->lock);