diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2022-10-03 15:29:43 +0200 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@kernel.org> | 2023-01-06 14:14:48 +0100 |
commit | a1c306375b0638f37996bbda1e3a75c6f108a097 (patch) | |
tree | 41ce5cf7c9b832b74c45b3098e9ad178ea7723e8 /drivers/thermal/samsung | |
parent | d3ecaf17b58607c240392e810a743fbb9e1e8262 (diff) | |
download | linux-stable-a1c306375b0638f37996bbda1e3a75c6f108a097.tar.gz linux-stable-a1c306375b0638f37996bbda1e3a75c6f108a097.tar.bz2 linux-stable-a1c306375b0638f37996bbda1e3a75c6f108a097.zip |
thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp
The driver is assuming the get_critical temperature exists as it is
inherited by the thermal of ops. But this one has been removed in
favor of the generic one.
Use the generic thermal_zone_get_crit_temp() function instead
Fixes: 13bea86623be ("thermal/of: Remove of_thermal_get_crit_temp(")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/thermal/samsung')
-rw-r--r-- | drivers/thermal/samsung/exynos_tmu.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index 5a1ffe2f3134..37465af59262 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -264,9 +264,8 @@ static int exynos_tmu_initialize(struct platform_device *pdev) unsigned int status; int ret = 0, temp; - if (data->soc != SOC_ARCH_EXYNOS5433) /* FIXME */ - ret = tzd->ops->get_crit_temp(tzd, &temp); - if (ret) { + ret = thermal_zone_get_crit_temp(tzd, &temp); + if (ret && data->soc != SOC_ARCH_EXYNOS5433) { /* FIXME */ dev_err(&pdev->dev, "No CRITICAL trip point defined in device tree!\n"); goto out; |