bb3f926201ca26d7e64feac54d236e5bdaf5829f
[openwrt/openwrt.git] / target / linux / layerscape / patches-5.4 / 701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch
1 From d3fe9bfb9c854ce3acb7db099d9c9476e4fe2ea7 Mon Sep 17 00:00:00 2001
2 From: Michael Walle <michael@walle.cc>
3 Date: Thu, 7 Nov 2019 09:39:37 +0100
4 Subject: [PATCH] enetc: add ioctl() support for PHY-related ops
5
6 If there is an attached PHY try to handle the requested ioctl with its
7 handler, which allows the userspace to access PHY registers, for
8 example. This will make mii-diag and similar tools work.
9
10 Signed-off-by: Michael Walle <michael@walle.cc>
11 Reviewed-by: Andrew Lunn <andrew@lunn.ch>
12 Signed-off-by: David S. Miller <davem@davemloft.net>
13 ---
14 drivers/net/ethernet/freescale/enetc/enetc.c | 5 ++++-
15 1 file changed, 4 insertions(+), 1 deletion(-)
16
17 --- a/drivers/net/ethernet/freescale/enetc/enetc.c
18 +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
19 @@ -1661,7 +1661,10 @@ int enetc_ioctl(struct net_device *ndev,
20 if (cmd == SIOCGHWTSTAMP)
21 return enetc_hwtstamp_get(ndev, rq);
22 #endif
23 - return -EINVAL;
24 +
25 + if (!ndev->phydev)
26 + return -EINVAL;
27 + return phy_mii_ioctl(ndev->phydev, rq, cmd);
28 }
29
30 int enetc_alloc_msix(struct enetc_ndev_priv *priv)