thermal/drivers/qcom/lmh: Check for SCM availability at probe
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Sat, 9 Mar 2024 13:15:03 +0000 (14:15 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 23 Apr 2024 10:40:29 +0000 (12:40 +0200)
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
drivers/thermal/qcom/lmh.c

index f6edb12ec00419768354ea55eddb8fa2e711ed4d..5225b3621a56c4a11f0ae56af1060d6d1460ef02 100644 (file)
@@ -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;