summaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2013-02-13 02:31:31 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-02-13 13:52:19 +0100
commite81d7bc89c9623ea000890fb4cdf7e731dc21f71 (patch)
treeef2822bf7b852b1411efc72e64a3c4cf2789683e /drivers/regulator
parentregulator: s5m8767: Fix dev argument for devm_kzalloc and of_get_regulator_in... (diff)
downloadlinux-e81d7bc89c9623ea000890fb4cdf7e731dc21f71.tar.xz
linux-e81d7bc89c9623ea000890fb4cdf7e731dc21f71.zip
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/regulator')
-rw-r--r--drivers/regulator/s5m8767.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c
index ef0532d56d43..8a831947c351 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");