| From d3fe9bfb9c854ce3acb7db099d9c9476e4fe2ea7 Mon Sep 17 00:00:00 2001 |
| From: Michael Walle <michael@walle.cc> |
| Date: Thu, 7 Nov 2019 09:39:37 +0100 |
| Subject: [PATCH] enetc: add ioctl() support for PHY-related ops |
| |
| If there is an attached PHY try to handle the requested ioctl with its |
| handler, which allows the userspace to access PHY registers, for |
| example. This will make mii-diag and similar tools work. |
| |
| Signed-off-by: Michael Walle <michael@walle.cc> |
| Reviewed-by: Andrew Lunn <andrew@lunn.ch> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| --- |
| drivers/net/ethernet/freescale/enetc/enetc.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/freescale/enetc/enetc.c |
| +++ b/drivers/net/ethernet/freescale/enetc/enetc.c |
| @@ -1658,7 +1658,10 @@ int enetc_ioctl(struct net_device *ndev, |
| if (cmd == SIOCGHWTSTAMP) |
| return enetc_hwtstamp_get(ndev, rq); |
| #endif |
| - return -EINVAL; |
| + |
| + if (!ndev->phydev) |
| + return -EINVAL; |
| + return phy_mii_ioctl(ndev->phydev, rq, cmd); |
| } |
| |
| int enetc_alloc_msix(struct enetc_ndev_priv *priv) |