summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Dybcio <konrad.dybcio@linaro.org>2024-03-09 14:15:03 +0100
committerDaniel Lezcano <daniel.lezcano@linaro.org>2024-04-23 12:40:29 +0200
commitd9d3490c48df572edefc0b64655259eefdcbb9be (patch)
tree60e3594f697541b7bbc85e3450c41c9a8a1e95aa
parentc0f14ec95262cdcf557016f84b87e45f54e0b881 (diff)
downloadlinux-stable-d9d3490c48df572edefc0b64655259eefdcbb9be.tar.gz
linux-stable-d9d3490c48df572edefc0b64655259eefdcbb9be.tar.bz2
linux-stable-d9d3490c48df572edefc0b64655259eefdcbb9be.zip
thermal/drivers/qcom/lmh: Check for SCM availability at probe
Up until now, the necessary scm availability check has not been performed, leading to possible null pointer dereferences (which did happen for me on RB1). Fix that. Fixes: 53bca371cdf7 ("thermal/drivers/qcom: Add support for LMh driver") Cc: <stable@vger.kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Bjorn Andersson <andersson@kernel.org> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20240308-topic-rb1_lmh-v2-2-bac3914b0fe3@linaro.org
-rw-r--r--drivers/thermal/qcom/lmh.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/thermal/qcom/lmh.c b/drivers/thermal/qcom/lmh.c
index f6edb12ec004..5225b3621a56 100644
--- a/drivers/thermal/qcom/lmh.c
+++ b/drivers/thermal/qcom/lmh.c
@@ -95,6 +95,9 @@ static int lmh_probe(struct platform_device *pdev)
unsigned int enable_alg;
u32 node_id;
+ if (!qcom_scm_is_available())
+ return -EPROBE_DEFER;
+
lmh_data = devm_kzalloc(dev, sizeof(*lmh_data), GFP_KERNEL);
if (!lmh_data)
return -ENOMEM;