aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/net
diff options
context:
space:
mode:
authorJon Mason <jon.mason@broadcom.com>2017-05-10 11:20:27 -0400
committerDavid S. Miller <davem@davemloft.net>2017-05-11 12:32:43 -0400
commitb60161668199ac62011c024adc9e66713b9554e7 (patch)
tree47c486ace32fbd0d1ebd4c9711f615035e7eb1b3 /arch/arm64/net
parentipv6/dccp: do not inherit ipv6_mc_list from parent (diff)
downloadlinux-dev-b60161668199ac62011c024adc9e66713b9554e7.tar.xz
linux-dev-b60161668199ac62011c024adc9e66713b9554e7.zip
mdio: mux: Correct mdio_mux_init error path issues
There is a potential unnecessary refcount decrement on error path of put_device(&pb->mii_bus->dev), as it is possible to avoid the of_mdio_find_bus() call if mux_bus is specified by the calling function. The same put_device() is not called in the error path if the devm_kzalloc of pb fails. This caused the variable used in the put_device() to be changed, as the pb pointer was obviously not set up. There is an unnecessary of_node_get() on child_bus_node if the of_mdiobus_register() is successful, as the for_each_available_child_of_node() automatically increments this. Thus the refcount on this node will always be +1 more than it should be. There is no of_node_put() on child_bus_node if the of_mdiobus_register() call fails. Finally, it is lacking devm_kfree() of pb in the error path. While this might not be technically necessary, it was present in other parts of the function. So, I am adding it where necessary to make it uniform. Signed-off-by: Jon Mason <jon.mason@broadcom.com> Fixes: f20e6657a875 ("mdio: mux: Enhanced MDIO mux framework for integrated multiplexers") Fixes: 0ca2997d1452 ("netdev/of/phy: Add MDIO bus multiplexer support.") Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/arm64/net')
0 files changed, 0 insertions, 0 deletions