mdio: mux: fix device_node_continue.cocci warnings
authorJulia Lawall <julia.lawall@lip6.fr>
Fri, 12 May 2017 14:54:23 +0000 (22:54 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Apr 2018 17:47:57 +0000 (19:47 +0200)
[ Upstream commit 8c977f5a856a7276450ddf3a7b57b4a8815b63f9 ]

Device node iterators put the previous value of the index variable, so an
explicit put causes a double put.

In particular, of_mdiobus_register can fail before doing anything
interesting, so one could view it as a no-op from the reference count
point of view.

Generated by: scripts/coccinelle/iterators/device_node_continue.cocci

CC: Jon Mason <jon.mason@broadcom.com>
Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/mdio-mux.c

index 6943c5ece44aed2d5c43f9564c28034c269ae18c..599ce24c514f1b0eb1e8a6df1e3a0362f53bee26 100644 (file)
@@ -169,7 +169,6 @@ int mdio_mux_init(struct device *dev,
                if (r) {
                        mdiobus_free(cb->mii_bus);
                        devm_kfree(dev, cb);
-                       of_node_put(child_bus_node);
                } else {
                        cb->next = pb->children;
                        pb->children = cb;