diff options
author | Axel Lin <axel.lin@ingics.com> | 2019-05-16 20:48:08 +0800 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-05-16 17:11:47 +0100 |
commit | 7d293f56456120efa97c4e18250d86d2a05ad0bd (patch) | |
tree | 4fb701da8e5a8afcffb48b122e667bbae5ab95d1 | |
parent | 498209445124920b365ef43aac93d6f1acbaa1b7 (diff) |
regulator: tps6507x: Fix boot regression due to testing wrong init_data pointer
A NULL init_data once incremented will lead to oops, fix it.
Fixes: f979c08f7624 ("regulator: tps6507x: Convert to regulator core's simplified DT parsing code")
Reported-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/regulator/tps6507x-regulator.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/regulator/tps6507x-regulator.c b/drivers/regulator/tps6507x-regulator.c index a1b7fab91dd4..d2a8f69b2665 100644 --- a/drivers/regulator/tps6507x-regulator.c +++ b/drivers/regulator/tps6507x-regulator.c @@ -403,12 +403,12 @@ static int tps6507x_pmic_probe(struct platform_device *pdev) /* common for all regulators */ tps->mfd = tps6507x_dev; - for (i = 0; i < TPS6507X_NUM_REGULATOR; i++, info++, init_data++) { + for (i = 0; i < TPS6507X_NUM_REGULATOR; i++, info++) { /* Register the regulators */ tps->info[i] = info; - if (init_data && init_data->driver_data) { + if (init_data && init_data[i].driver_data) { struct tps6507x_reg_platform_data *data = - init_data->driver_data; + init_data[i].driver_data; info->defdcdc_default = data->defdcdc_default; } |