diff options
author | Richard Cochran <richardcochran@gmail.com> | 2010-07-17 04:48:55 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-18 22:15:25 -0400 |
commit | 28b041139e344ecd0f144d6205b004ae354cfa1e (patch) | |
tree | 7fc0e05d01717da0410a7b3252b0cac3fc8db81d /drivers/net/cpmac.c | |
parent | 4507a71507d4ff37e9a499c4241b7701ed1feab4 (diff) |
net: preserve ifreq parameter when calling generic phy_mii_ioctl().
The phy_mii_ioctl() function unnecessarily throws away the original ifreq.
We need access to the ifreq in order to support PHYs that can perform
hardware time stamping.
Two maverick drivers filter the ioctl commands passed to phy_mii_ioctl().
This is unnecessary since phylib will check the command in any case.
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cpmac.c')
-rw-r--r-- | drivers/net/cpmac.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index 38de1a4f825f..e1f6156b3710 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c | |||
@@ -846,11 +846,8 @@ static int cpmac_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | |||
846 | return -EINVAL; | 846 | return -EINVAL; |
847 | if (!priv->phy) | 847 | if (!priv->phy) |
848 | return -EINVAL; | 848 | return -EINVAL; |
849 | if ((cmd == SIOCGMIIPHY) || (cmd == SIOCGMIIREG) || | ||
850 | (cmd == SIOCSMIIREG)) | ||
851 | return phy_mii_ioctl(priv->phy, if_mii(ifr), cmd); | ||
852 | 849 | ||
853 | return -EOPNOTSUPP; | 850 | return phy_mii_ioctl(priv->phy, ifr, cmd); |
854 | } | 851 | } |
855 | 852 | ||
856 | static int cpmac_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 853 | static int cpmac_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) |