From f3ff13f0681bcec7788550e0e093389c95d85e1f Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 24 Jul 2007 09:15:20 +0000 Subject: [PATCH] Fix the handling of unsupported ioctls (eth0 appeared in iwconfig for instance) SVN-Revision: 8139 --- .../patches/014-au1000_eth_ioctl.patch | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 target/linux/au1000-2.6/patches/014-au1000_eth_ioctl.patch 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)