ramips: add missing unlock in fe_phy_link_adjust
[openwrt/openwrt.git] / target / linux / ramips / files-4.14 / drivers / net / ethernet / mtk / mdio.c
index d3798bbd6592ad36213739f89b17bd4b8a84a813..b2a31589bc7afc572ff8a8ef5993909725cfdec7 100644 (file)
@@ -57,6 +57,7 @@ static void fe_phy_link_adjust(struct net_device *dev)
                        }
                }
        }
+       spin_unlock_irqrestore(&priv->phy->lock, flags);
 }
 
 int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node)
@@ -74,7 +75,7 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node)
        port = be32_to_cpu(*_port);
        phy_mode = of_get_phy_mode(phy_node);
        if (phy_mode < 0) {
-               dev_err(priv->device, "incorrect phy-mode %d\n", phy_mode);
+               dev_err(priv->dev, "incorrect phy-mode %d\n", phy_mode);
                priv->phy->phy_node[port] = NULL;
                return -EINVAL;
        }
@@ -82,7 +83,7 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node)
        phydev = of_phy_connect(priv->netdev, phy_node, fe_phy_link_adjust,
                                0, phy_mode);
        if (IS_ERR(phydev)) {
-               dev_err(priv->device, "could not connect to PHY\n");
+               dev_err(priv->dev, "could not connect to PHY\n");
                priv->phy->phy_node[port] = NULL;
                return PTR_ERR(phydev);
        }
@@ -91,7 +92,7 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node)
        phydev->advertising = phydev->supported;
        phydev->no_auto_carrier_off = 1;
 
-       dev_info(priv->device,
+       dev_info(priv->dev,
                 "connected port %d to PHY at %s [uid=%08x, driver=%s]\n",
                 port, dev_name(&phydev->mdio.dev), phydev->phy_id,
                 phydev->drv->name);
@@ -209,9 +210,9 @@ int fe_mdio_init(struct fe_priv *priv)
        spin_lock_init(&phy_ralink.lock);
        priv->phy = &phy_ralink;
 
-       mii_np = of_get_child_by_name(priv->device->of_node, "mdio-bus");
+       mii_np = of_get_child_by_name(priv->dev->of_node, "mdio-bus");
        if (!mii_np) {
-               dev_err(priv->device, "no %s child node found", "mdio-bus");
+               dev_err(priv->dev, "no %s child node found", "mdio-bus");
                return -ENODEV;
        }
 
@@ -231,7 +232,7 @@ int fe_mdio_init(struct fe_priv *priv)
        priv->mii_bus->write = priv->soc->mdio_write;
        priv->mii_bus->reset = fe_mdio_reset;
        priv->mii_bus->priv = priv;
-       priv->mii_bus->parent = priv->device;
+       priv->mii_bus->parent = priv->dev;
 
        snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s", mii_np->name);
        err = of_mdiobus_register(priv->mii_bus, mii_np);