net: mdio-mux: fix unbalanced put_device
authorCorentin Labbe <clabbe.montjoie@gmail.com>
Fri, 1 Sep 2017 11:56:04 +0000 (13:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Sep 2017 17:26:31 +0000 (10:26 -0700)
commit60f786525032432af1b7d9b8935cb12936244ccd
treeea3186a5c85b0aef63557f9fab44929841df5fd9
parentc642bbbc72d4d5165da7c8477d13791f5943dd05
net: mdio-mux: fix unbalanced put_device

mdio_mux_uninit() call put_device (unconditionally) because of
of_mdio_find_bus() in mdio_mux_init.
But of_mdio_find_bus is only called if mux_bus is empty.
If mux_bus is set, mdio_mux_uninit will print a "refcount_t: underflow"
trace.

This patch add a get_device in the other branch of "if (mux_bus)".

Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio-mux.c