aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2007-07-24 21:11:28 +0000
committerJohn Crispin <blogic@openwrt.org>2007-07-24 21:11:28 +0000
commitaa66a101b822378ead3e2a18c0326d6c0a82bf01 (patch)
tree4fc1bb4e8af4c4939831a21f6ea33682544ad107 /target
parentd651db6f7ba2b59c8c4e2344ee6fa0975f0c2eff (diff)
downloadmaster-187ad058-aa66a101b822378ead3e2a18c0326d6c0a82bf01.tar.gz
master-187ad058-aa66a101b822378ead3e2a18c0326d6c0a82bf01.tar.bz2
master-187ad058-aa66a101b822378ead3e2a18c0326d6c0a82bf01.zip
fixed au1000 eth0 ioctl patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8147 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch29
1 files changed, 9 insertions, 20 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
index 5996ccf2ac..6187a7d5af 100644
--- a/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch
+++ b/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch
@@ -1,26 +1,15 @@
-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)
+--- linux-2.6.22.1.orig/drivers/net/au1000_eth.c 2007-07-24 18:43:25.527583520 +0200
++++ linux-2.6.22.1/drivers/net/au1000_eth.c 2007-07-24 23:07:00.388821102 +0200
+@@ -1320,9 +1320,12 @@
+ }
+ }
+
++#define AU1000_KNOWN_PHY_IOCTLS (SIOCGMIIPHY & 0xfff0)
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((cmd & AU1000_KNOWN_PHY_IOCTLS) != AU1000_KNOWN_PHY_IOCTLS)
++ return -EINVAL;
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)