diff options
author | Florian Fainelli <florian@openwrt.org> | 2007-07-24 09:15:20 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2007-07-24 09:15:20 +0000 |
commit | f3ff13f0681bcec7788550e0e093389c95d85e1f (patch) | |
tree | 51e5e7d396a43e85c14f063648f5bfb4101926fa /target/linux/au1000-2.6/patches | |
parent | 3c2568a335ffe0d290fa7212ac7d379737a85e37 (diff) | |
download | upstream-f3ff13f0681bcec7788550e0e093389c95d85e1f.tar.gz upstream-f3ff13f0681bcec7788550e0e093389c95d85e1f.tar.bz2 upstream-f3ff13f0681bcec7788550e0e093389c95d85e1f.zip |
Fix the handling of unsupported ioctls (eth0 appeared in iwconfig for instance)
SVN-Revision: 8139
Diffstat (limited to 'target/linux/au1000-2.6/patches')
-rw-r--r-- | target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch b/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch new file mode 100644 index 0000000000..5996ccf2ac --- /dev/null +++ b/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch @@ -0,0 +1,26 @@ +diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c +index c27cfce..99a1c61 100644 +--- a/drivers/net/au1000_eth.c ++++ b/drivers/net/au1000_eth.c +@@ -1316,12 +1316,20 @@ static void set_rx_mode(struct net_device *dev) + static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) + { + struct au1000_private *aup = (struct au1000_private *)dev->priv; ++ struct mii_ioctl_data *data = if_mii(rq); ++ int rc = -EOPNOTSUPP; + + if (!netif_running(dev)) return -EINVAL; + + if (!aup->phy_dev) return -EINVAL; // PHY not controllable + +- return phy_mii_ioctl(aup->phy_dev, if_mii(rq), cmd); ++ switch (cmd) { ++ default: ++ rc = phy_mii_ioctl(aup->phy_dev, data, cmd); ++ break; ++ } ++ ++ return rc; + } + + static struct net_device_stats *au1000_get_stats(struct net_device *dev) |