net: ethernet: davinci_emac: Fix devioctl while in fixed link

When configured in fixed link, the DaVinci emac driver sets the
priv->phydev to NULL and further ioctl calls to the phy_mii_ioctl()
causes the kernel to crash.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Fixes: 1bb6aa56bb ("net: davinci_emac: Add support for fixed-link PHY")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Neil Armstrong 2016-04-25 19:41:38 +02:00 committed by David S. Miller
parent eee66af857
commit 62522ef3c3

View File

@ -1512,7 +1512,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd)
/* TODO: Add phy read and write and private statistics get feature */
return phy_mii_ioctl(priv->phydev, ifrq, cmd);
if (priv->phydev)
return phy_mii_ioctl(priv->phydev, ifrq, cmd);
else
return -EOPNOTSUPP;
}
static int match_first_device(struct device *dev, void *data)