Reference to 'sys2pci_np' should be dropped in all cases here, not only in
error handling path.

Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
---
 drivers/pinctrl/sirf/pinctrl-atlas7.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/pinctrl/sirf/pinctrl-atlas7.c 
b/drivers/pinctrl/sirf/pinctrl-atlas7.c
index 7f3041697813..f714f67c4b64 100644
--- a/drivers/pinctrl/sirf/pinctrl-atlas7.c
+++ b/drivers/pinctrl/sirf/pinctrl-atlas7.c
@@ -5420,14 +5420,15 @@ static int atlas7_pinmux_probe(struct platform_device 
*pdev)
        sys2pci_np = of_find_node_by_name(NULL, "sys2pci");
        if (!sys2pci_np)
                return -EINVAL;
+
        ret = of_address_to_resource(sys2pci_np, 0, &res);
+       of_node_put(sys2pci_np);
        if (ret)
                return ret;
+
        pmx->sys2pci_base = devm_ioremap_resource(&pdev->dev, &res);
-       if (IS_ERR(pmx->sys2pci_base)) {
-               of_node_put(sys2pci_np);
+       if (IS_ERR(pmx->sys2pci_base))
                return -ENOMEM;
-       }
 
        pmx->dev = &pdev->dev;
 
-- 
2.9.3

Reply via email to