aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Anderson <dianders@chromium.org>2014-05-01 14:50:16 -0400
committerMark Brown <broonie@linaro.org>2014-05-02 12:33:30 -0400
commitc122c5b68273cf0153d1dc510889728cf71e8ce3 (patch)
tree03fe6e24730378ef3f48b7e4552a4eb1739d11ad
parented11f1ead54bf0398a4303b51125622113c9c9e1 (diff)
regulator: tps65090: Fix tps65090 crash on Tegra Dalmore
The patch (60e91b5 regulator: tps65090: Allow setting the overcurrent wait time) introduced a crash on Tegra Dalmore. On Dalmore the device tree doesn't have an entry for all of the FETs so it leaves tps_pdata NULL in some cases. Add a check for NULL like the rest of the code does. Reported-by: Olof Johansson <olof@lixom.net> Signed-off-by: Doug Anderson <dianders@chromium.org> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r--drivers/regulator/tps65090-regulator.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/regulator/tps65090-regulator.c b/drivers/regulator/tps65090-regulator.c
index 2057e2e311de..2064b3fd45f7 100644
--- a/drivers/regulator/tps65090-regulator.c
+++ b/drivers/regulator/tps65090-regulator.c
@@ -431,8 +431,11 @@ static int tps65090_regulator_probe(struct platform_device *pdev)
431 ri = &pmic[num]; 431 ri = &pmic[num];
432 ri->dev = &pdev->dev; 432 ri->dev = &pdev->dev;
433 ri->desc = &tps65090_regulator_desc[num]; 433 ri->desc = &tps65090_regulator_desc[num];
434 ri->overcurrent_wait_valid = tps_pdata->overcurrent_wait_valid; 434 if (tps_pdata) {
435 ri->overcurrent_wait = tps_pdata->overcurrent_wait; 435 ri->overcurrent_wait_valid =
436 tps_pdata->overcurrent_wait_valid;
437 ri->overcurrent_wait = tps_pdata->overcurrent_wait;
438 }
436 439
437 /* 440 /*
438 * TPS5090 DCDC support the control from external digital input. 441 * TPS5090 DCDC support the control from external digital input.