regulator: max77693: Fix use of uninitialized regulator config
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 3 Nov 2014 14:07:05 +0000 (15:07 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 3 Nov 2014 14:36:02 +0000 (14:36 +0000)
Driver allocated on stack struct regulator_config but didn't initialize
it fully. Few fields (driver_data, ena_gpio) were left untouched. This
lead to using random ena_gpio values as GPIOs for max77693 regulators.

On occasion these values could match real GPIO numbers leading to
interfering with other drivers and to unsuccessful enable/disable of
regulator.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 80b022e29bfd ("regulator: max77693: Add max77693 regualtor driver.")
Cc: <stable@vger.kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/max77693.c

index c67ff05fc1dd1354cd0a72601f31b407f99638ad..d158f71fa12817ef8f34c40b1955a910f115375f 100644 (file)
@@ -227,7 +227,7 @@ static int max77693_pmic_probe(struct platform_device *pdev)
        struct max77693_dev *iodev = dev_get_drvdata(pdev->dev.parent);
        struct max77693_regulator_data *rdata = NULL;
        int num_rdata, i;
-       struct regulator_config config;
+       struct regulator_config config = { };
 
        num_rdata = max77693_pmic_init_rdata(&pdev->dev, &rdata);
        if (!rdata || num_rdata <= 0) {