Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57ac786b authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Greg Kroah-Hartman
Browse files

thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR



[ Upstream commit 7440f518dad9d861d76c64956641eeddd3586f75 ]

On error the function ti_bandgap_get_sensor_data() returns the error
code in ERR_PTR() but we only checked if the return value is NULL or
not. And, so we can dereference an error code inside ERR_PTR.
While at it, convert a check to IS_ERR_OR_NULL.

Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
Reviewed-by: default avatarAmit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200424161944.6044-1-sudipm.mukherjee@gmail.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent ea02b848
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id,

	data = ti_bandgap_get_sensor_data(bgp, id);

	if (!data || IS_ERR(data))
	if (!IS_ERR_OR_NULL(data))
		data = ti_thermal_build_data(bgp, id);

	if (!data)
@@ -210,7 +210,7 @@ int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)

	data = ti_bandgap_get_sensor_data(bgp, id);

	if (data && data->ti_thermal) {
	if (!IS_ERR_OR_NULL(data) && data->ti_thermal) {
		if (data->our_zone)
			thermal_zone_device_unregister(data->ti_thermal);
	}
@@ -276,7 +276,7 @@ int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)

	data = ti_bandgap_get_sensor_data(bgp, id);

	if (data) {
	if (!IS_ERR_OR_NULL(data)) {
		cpufreq_cooling_unregister(data->cool_dev);
		if (data->policy)
			cpufreq_cpu_put(data->policy);