thermal: rcar_thermal: Fix priv->zone error handling
authorDirk Behme <dirk.behme@de.bosch.com>
Thu, 21 Apr 2016 10:24:55 +0000 (12:24 +0200)
committerZhang Rui <rui.zhang@intel.com>
Tue, 6 Sep 2016 12:46:06 +0000 (20:46 +0800)
commit87260d3f7aecba9a5fadc6886c338b2a8fccfca9
tree8e5a28672e5db63939e28d2a65b84b8beecd9f26
parentc6935931c1894ff857616ff8549b61236a19148f
thermal: rcar_thermal: Fix priv->zone error handling

In case thermal_zone_xxx_register() returns an error, priv->zone
isn't NULL any more, but contains the error code.

This is passed to thermal_zone_device_unregister(), then. This checks
for priv->zone being NULL, but the error code is != NULL. So it works
with the error code as a pointer. Crashing immediately.

To fix this, reset priv->zone to NULL before entering
rcar_gen3_thermal_remove().

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/rcar_thermal.c