Fix the handling of unsupported ioctls (eth0 appeared in iwconfig for instance)
authorFlorian Fainelli <florian@openwrt.org>
Tue, 24 Jul 2007 09:15:20 +0000 (09:15 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 24 Jul 2007 09:15:20 +0000 (09:15 +0000)
SVN-Revision: 8139

target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch [new file with mode: 0644]

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 (file)
index 0000000..5996ccf
--- /dev/null
@@ -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)