Currently pointer tz is dereferenced before it is being null checked leading to a potential null pointer deferernce issue. Fix this by only defererencing it once it has been null checked. Fixes: 6fc2e1a5f98f ("thermal/drivers/tegra: Switch to new of API") Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> --- drivers/thermal/tegra/soctherm.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c index 53a5c649f4b1..53fa6099b67f 100644 --- a/drivers/thermal/tegra/soctherm.c +++ b/drivers/thermal/tegra/soctherm.c @@ -585,14 +585,19 @@ static int tsensor_group_thermtrip_get(struct tegra_soctherm *ts, int id) static int tegra_thermctl_set_trip_temp(struct thermal_zone_device *tz, const struct thermal_trip *trip, int temp) { - struct tegra_thermctl_zone *zone = thermal_zone_device_priv(tz); - struct tegra_soctherm *ts = zone->ts; - const struct tegra_tsensor_group *sg = zone->sg; - struct device *dev = zone->dev; + struct tegra_thermctl_zone *zone; + struct tegra_soctherm *ts; + const struct tegra_tsensor_group *sg; + struct device *dev; if (!tz) return -EINVAL; + zone = thermal_zone_device_priv(tz); + ts = zone->ts; + sg = zone->sg; + dev = zone->dev; + if (trip->type == THERMAL_TRIP_CRITICAL) { /* * If thermtrips property is set in DT, -- 2.50.0