diff options
author | Axel Lin <axel.lin@ingics.com> | 2013-02-13 01:31:31 (GMT) |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-13 12:52:19 (GMT) |
commit | e81d7bc89c9623ea000890fb4cdf7e731dc21f71 (patch) | |
tree | ef2822bf7b852b1411efc72e64a3c4cf2789683e /drivers | |
parent | cbb0ed495ca165a94d66610adf64961f2117ec36 (diff) | |
download | linux-e81d7bc89c9623ea000890fb4cdf7e731dc21f71.tar.xz |
regulator: s5m8767: Prevent possible NULL pointer dereference
s5m8767_pmic_dt_parse_pdata dereferenes pdata, thus check pdata earlier to
avoid NULL pointer dereference.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/regulator/s5m8767.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c index ef0532d..8a83194 100644 --- a/drivers/regulator/s5m8767.c +++ b/drivers/regulator/s5m8767.c @@ -659,17 +659,17 @@ static int s5m8767_pmic_probe(struct platform_device *pdev) struct s5m8767_info *s5m8767; int i, ret, size, buck_init; + if (!pdata) { + dev_err(pdev->dev.parent, "Platform data not supplied\n"); + return -ENODEV; + } + if (iodev->dev->of_node) { ret = s5m8767_pmic_dt_parse_pdata(pdev, pdata); if (ret) return ret; } - if (!pdata) { - dev_err(pdev->dev.parent, "Platform data not supplied\n"); - return -ENODEV; - } - if (pdata->buck2_gpiodvs) { if (pdata->buck3_gpiodvs || pdata->buck4_gpiodvs) { dev_err(&pdev->dev, "S5M8767 GPIO DVS NOT VALID\n"); |