aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2007-07-24 09:15:20 +0000
committerFlorian Fainelli <florian@openwrt.org>2007-07-24 09:15:20 +0000
commitf3ff13f0681bcec7788550e0e093389c95d85e1f (patch)
tree51e5e7d396a43e85c14f063648f5bfb4101926fa
parent3c2568a335ffe0d290fa7212ac7d379737a85e37 (diff)
downloadupstream-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
-rw-r--r--target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch26
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)