]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
regulator: Call of_node_put() only once in rzg2l_usb_vbus_regulator_probe()
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 24 Sep 2024 11:21:52 +0000 (13:21 +0200)
committerMark Brown <broonie@kernel.org>
Sun, 29 Sep 2024 23:11:43 +0000 (01:11 +0200)
An of_node_put(config.of_node) call was immediately used after a pointer
check for a devm_regulator_register() call in this function implementation.
Thus call such a function only once instead directly before the check.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://patch.msgid.link/f9d7a026-a67a-4164-80f4-578b1fbf71ac@web.de
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/renesas-usb-vbus-regulator.c

index 4eceb6b54497a60c01132de608a3e0f7ea04781b..dec7cac5e8d59414c2b97bbc77fc2d1b78bf4d2b 100644 (file)
@@ -49,13 +49,10 @@ static int rzg2l_usb_vbus_regulator_probe(struct platform_device *pdev)
                return dev_err_probe(dev, -ENODEV, "regulator node not found\n");
 
        rdev = devm_regulator_register(dev, &rzg2l_usb_vbus_rdesc, &config);
-       if (IS_ERR(rdev)) {
-               of_node_put(config.of_node);
+       of_node_put(config.of_node);
+       if (IS_ERR(rdev))
                return dev_err_probe(dev, PTR_ERR(rdev),
                                     "not able to register vbus regulator\n");
-       }
-
-       of_node_put(config.of_node);
 
        return 0;
 }