Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b486bcaa authored by Indrasena Reddy G's avatar Indrasena Reddy G
Browse files

soc: qcom: bgdaemon: Fix the possible memory leaks



Fix the memory leak issue for regulators LDO-03
and LDO-09 at time of BG ssr.

Change-Id: I55b794a4446122d9b3d952a87e49e8200c4eb2ff
Signed-off-by: default avatarIndrasena Reddy G <gisena@codeaurora.org>
parent a9239f2d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -142,7 +142,6 @@ static int bgdaemon_init_regulators(struct device *pdev)
	struct regulator *reg03;
	struct regulator *reg09;

	dev = dev_get_drvdata(pdev);
	reg03 = regulator_get(pdev, "ssr-reg1");
	if (IS_ERR_OR_NULL(reg03)) {
		rc = PTR_ERR(reg03);
@@ -371,9 +370,12 @@ static int bg_daemon_probe(struct platform_device *pdev)
	unsigned reset_gpio;
	int ret;

	dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
	node = pdev->dev.of_node;

	dev = kzalloc(sizeof(struct bgdaemon_priv), GFP_KERNEL);
	if (!dev)
		return -ENOMEM;

	reset_gpio = of_get_named_gpio(node, "qcom,bg-reset-gpio", 0);
	if (!gpio_is_valid(reset_gpio)) {
		pr_err("gpio %d found is not valid\n", reset_gpio);
@@ -393,7 +395,6 @@ static int bg_daemon_probe(struct platform_device *pdev)
	pr_info("bg-soft-reset gpio successfully requested\n");
	bgreset_gpio = reset_gpio;

	dev_set_drvdata(&pdev->dev, dev);
	ret = bgdaemon_init_regulators(&pdev->dev);
	if (ret != 0) {
		pr_err("Failed to init regulators:%d\n", ret);