]> git.hungrycats.org Git - linux/commitdiff
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)
committerJiri Slaby <jslaby@suse.cz>
Thu, 13 Nov 2014 18:03:07 +0000 (19:03 +0100)
commit ca0c37a0b489bb14bf3e1549e7a8d0c9a17f4919 upstream.

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.")
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/regulator/max77693.c

index ce4b96c15ebaaf37cb26daa2d4a51df68d1e31e3..85a54b39e3b713fc60df00ad13c38f8cec175680 100644 (file)
@@ -231,7 +231,7 @@ static int max77693_pmic_probe(struct platform_device *pdev)
        struct max77693_pmic_dev *max77693_pmic;
        struct max77693_regulator_data *rdata = NULL;
        int num_rdata, i, ret;
-       struct regulator_config config;
+       struct regulator_config config = { };
 
        num_rdata = max77693_pmic_init_rdata(&pdev->dev, &rdata);
        if (!rdata || num_rdata <= 0) {