aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/mdio_bus.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-11-25 14:57:26 -0800
committerDavid S. Miller <davem@davemloft.net>2019-11-25 14:57:26 -0800
commitadf6f8cb3f4c2a15d5f35e6cf9ffeb6856d35312 (patch)
treef1ba8b47d05b9e30cd3ed11cc06fc524e1aba7c9 /drivers/net/phy/mdio_bus.c
parentenetc: add support Credit Based Shaper(CBS) for hardware offload (diff)
parentslip: Fix use-after-free Read in slip_open (diff)
downloadlinux-dev-adf6f8cb3f4c2a15d5f35e6cf9ffeb6856d35312.tar.xz
linux-dev-adf6f8cb3f4c2a15d5f35e6cf9ffeb6856d35312.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge in networking bug fixes for merge window. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/mdio_bus.c')
-rw-r--r--drivers/net/phy/mdio_bus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index dbacb0031877..229e480179ff 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -62,8 +62,8 @@ static int mdiobus_register_reset(struct mdio_device *mdiodev)
struct reset_control *reset = NULL;
if (mdiodev->dev.of_node)
- reset = devm_reset_control_get_exclusive(&mdiodev->dev,
- "phy");
+ reset = of_reset_control_get_exclusive(mdiodev->dev.of_node,
+ "phy");
if (IS_ERR(reset)) {
if (PTR_ERR(reset) == -ENOENT || PTR_ERR(reset) == -ENOTSUPP)
reset = NULL;
@@ -107,6 +107,8 @@ int mdiobus_unregister_device(struct mdio_device *mdiodev)
if (mdiodev->bus->mdio_map[mdiodev->addr] != mdiodev)
return -EINVAL;
+ reset_control_put(mdiodev->reset_ctrl);
+
mdiodev->bus->mdio_map[mdiodev->addr] = NULL;
return 0;