regulator: qcom_spmi: Do NULL check for lvs
authorJeffrey Hugo <jeffrey.l.hugo@gmail.com>
Thu, 20 Jun 2019 14:22:28 +0000 (07:22 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 24 Jun 2019 16:26:15 +0000 (17:26 +0100)
Low-voltage switches (lvs) don't have set_points since the voltage ranges
of the output are really controlled by the inputs.  This is a problem for
the newly added linear range support in the probe(), as that will cause
a null pointer dereference error on older platforms like msm8974 which
happen to need to control some of the implemented lvs.

Fix this by adding the appropriate null check.

Fixes: 86f4ff7a0c0c ("regulator: qcom_spmi: enable linear range info")
Reported-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/qcom_spmi-regulator.c

index 877df33..7f51c5f 100644 (file)
@@ -2045,7 +2045,7 @@ static int qcom_spmi_regulator_probe(struct platform_device *pdev)
                        }
                }
 
-               if (vreg->set_points->count == 1) {
+               if (vreg->set_points && vreg->set_points->count == 1) {
                        /* since there is only one range */
                        range = vreg->set_points->range;
                        vreg->desc.uV_step = range->step_uV;