diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-24 09:15:20 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-24 09:15:20 +0000 |
commit | b0b1a6af4f4e665e080f3b5ad35b6cb2cae4f17c (patch) | |
tree | 38c021b13efee6135e76064c08cf63496b13926c /target/linux/au1000-2.6/patches | |
parent | 720cdf88eb17e070b4acd4415f581c104cdd686e (diff) |
Fix the handling of unsupported ioctls (eth0 appeared in iwconfig for instance)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8139 3c298f89-4303-0410-b956-a3cf2f4a3e73
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) |