OSDN Git Service

regulator: fan53555: Fix null pointer dereference
authorAxel Lin <axel.lin@ingics.com>
Thu, 18 Sep 2014 13:49:38 +0000 (21:49 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 18 Sep 2014 18:01:10 +0000 (11:01 -0700)
Set di->regulator before dereference it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/fan53555.c

index 0168106..f8e4257 100644 (file)
@@ -361,6 +361,7 @@ static int fan53555_regulator_probe(struct i2c_client *client,
        if (!di)
                return -ENOMEM;
 
+       di->regulator = pdata->regulator;
        if (client->dev.of_node) {
                const struct of_device_id *match;
 
@@ -389,7 +390,6 @@ static int fan53555_regulator_probe(struct i2c_client *client,
                return PTR_ERR(di->regmap);
        }
        di->dev = &client->dev;
-       di->regulator = pdata->regulator;
        i2c_set_clientdata(client, di);
        /* Get chip ID */
        ret = regmap_read(di->regmap, FAN53555_ID1, &val);