Fix the handling of unsupported ioctls (eth0 appeared in iwconfig for instance)
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

--- /dev/null
+++ b/target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch
@@ -1,1 +1,27 @@
+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)
 

comments