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 f36cd44816d86c00e2e37dfba64a68970f9beb6e..d755440791b7ce0a01d3e186e423ed6769fcc8be 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);