aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/stmmac/stmmac_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/stmmac/stmmac_main.c')
-rw-r--r--drivers/net/stmmac/stmmac_main.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/net/stmmac/stmmac_main.c b/drivers/net/stmmac/stmmac_main.c
index a31d580f306d..acf061686940 100644
--- a/drivers/net/stmmac/stmmac_main.c
+++ b/drivers/net/stmmac/stmmac_main.c
@@ -1437,24 +1437,18 @@ static void stmmac_poll_controller(struct net_device *dev)
1437static int stmmac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) 1437static int stmmac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
1438{ 1438{
1439 struct stmmac_priv *priv = netdev_priv(dev); 1439 struct stmmac_priv *priv = netdev_priv(dev);
1440 int ret = -EOPNOTSUPP; 1440 int ret;
1441 1441
1442 if (!netif_running(dev)) 1442 if (!netif_running(dev))
1443 return -EINVAL; 1443 return -EINVAL;
1444 1444
1445 switch (cmd) { 1445 if (!priv->phydev)
1446 case SIOCGMIIPHY: 1446 return -EINVAL;
1447 case SIOCGMIIREG: 1447
1448 case SIOCSMIIREG: 1448 spin_lock(&priv->lock);
1449 if (!priv->phydev) 1449 ret = phy_mii_ioctl(priv->phydev, rq, cmd);
1450 return -EINVAL; 1450 spin_unlock(&priv->lock);
1451 1451
1452 spin_lock(&priv->lock);
1453 ret = phy_mii_ioctl(priv->phydev, if_mii(rq), cmd);
1454 spin_unlock(&priv->lock);
1455 default:
1456 break;
1457 }
1458 return ret; 1452 return ret;
1459} 1453}
1460 1454