netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 3 Sep 2009 10:39:43 +0000 (10:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Sep 2009 03:02:11 +0000 (20:02 -0700)
dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the
driver's implementation of MDIO ioctls.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
30 files changed:
drivers/net/amd8111e.c
drivers/net/atl1c/atl1c_main.c
drivers/net/atl1e/atl1e_main.c
drivers/net/atlx/atl2.c
drivers/net/bnx2.c
drivers/net/cassini.c
drivers/net/e1000/e1000_main.c
drivers/net/e1000e/netdev.c
drivers/net/ibm_newemac/core.c
drivers/net/igb/igb_main.c
drivers/net/mdio.c
drivers/net/mii.c
drivers/net/natsemi.c
drivers/net/pci-skeleton.c
drivers/net/pcmcia/3c574_cs.c
drivers/net/pcmcia/axnet_cs.c
drivers/net/pcmcia/pcnet_cs.c
drivers/net/pcmcia/xirc2ps_cs.c
drivers/net/phy/phy.c
drivers/net/r8169.c
drivers/net/sis900.c
drivers/net/skge.c
drivers/net/sky2.c
drivers/net/sungem.c
drivers/net/tg3.c
drivers/net/tlan.c
drivers/net/tulip/tulip_core.c
drivers/net/tulip/winbond-840.c
drivers/net/via-velocity.c
drivers/net/yellowfin.c

index 98b5f462c09238f6e9ccfdedbf5981bb5c2f4e19..4e6359fff0e121beca678ed96f15f471a9466274 100644 (file)
@@ -1524,9 +1524,6 @@ static int amd8111e_ioctl(struct net_device * dev , struct ifreq *ifr, int cmd)
        int err;
        u32 mii_regval;
 
-       if (!capable(CAP_NET_ADMIN))
-               return -EPERM;
-
        switch(cmd) {
        case SIOCGMIIPHY:
                data->phy_id = lp->ext_phy_addr;
index e46bf9238692c6948e5cc6e8270377b82d753496..be2c6cfe6e84cc55e7a71b2c63adad1057dc2a4b 100644 (file)
@@ -534,10 +534,6 @@ static int atl1c_mii_ioctl(struct net_device *netdev,
                break;
 
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN)) {
-                       retval = -EPERM;
-                       goto out;
-               }
                if (atl1c_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
                                    &data->val_out)) {
                        retval = -EIO;
@@ -546,10 +542,6 @@ static int atl1c_mii_ioctl(struct net_device *netdev,
                break;
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN)) {
-                       retval = -EPERM;
-                       goto out;
-               }
                if (data->reg_num & ~(0x1F)) {
                        retval = -EFAULT;
                        goto out;
index bca127e65f95481cb95783a815c4b50b0d9b8417..69b830f4b68fc3f9d85779f095feff2cb1338478 100644 (file)
@@ -453,10 +453,6 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
                break;
 
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN)) {
-                       retval = -EPERM;
-                       goto out;
-               }
                if (atl1e_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
                                    &data->val_out)) {
                        retval = -EIO;
@@ -465,10 +461,6 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
                break;
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN)) {
-                       retval = -EPERM;
-                       goto out;
-               }
                if (data->reg_num & ~(0x1F)) {
                        retval = -EFAULT;
                        goto out;
index 10c06b97001f1885120ac197e90219392fd57fea..ab688862093f41c7642c5a43b7f9b3262efbe7ce 100644 (file)
@@ -966,8 +966,6 @@ static int atl2_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
                data->phy_id = 0;
                break;
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                spin_lock_irqsave(&adapter->stats_lock, flags);
                if (atl2_read_phy_reg(&adapter->hw,
                        data->reg_num & 0x1F, &data->val_out)) {
@@ -977,8 +975,6 @@ static int atl2_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
                spin_unlock_irqrestore(&adapter->stats_lock, flags);
                break;
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (data->reg_num & ~(0x1F))
                        return -EFAULT;
                spin_lock_irqsave(&adapter->stats_lock, flags);
index 1357d548e69893cba8007a3414f025bd46957c9c..08cddb6ff740f4dfac35677e91424378bcf3b2e9 100644 (file)
@@ -7480,9 +7480,6 @@ bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
        }
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP)
                        return -EOPNOTSUPP;
 
index 7517dc1da6506ec1e9d9924b99b0b796e6767d88..05916aafa4f1d4002f39f8b26b2ef546ed0a1c45 100644 (file)
@@ -4875,10 +4875,6 @@ static int cas_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
                break;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN)) {
-                       rc = -EPERM;
-                       break;
-               }
                spin_lock_irqsave(&cp->lock, flags);
                cas_mif_poll(cp, 0);
                rc = cas_phy_write(cp, data->reg_num & 0x1f, data->val_in);
index 2c723b1b8820f5400f9b3e4459b20663e018e06f..c66dd4f9437cddfaa3f7684a7adc0d5aff4d777d 100644 (file)
@@ -4714,8 +4714,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
                data->phy_id = hw->phy_addr;
                break;
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                spin_lock_irqsave(&adapter->stats_lock, flags);
                if (e1000_read_phy_reg(hw, data->reg_num & 0x1F,
                                   &data->val_out)) {
@@ -4725,8 +4723,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
                spin_unlock_irqrestore(&adapter->stats_lock, flags);
                break;
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (data->reg_num & ~(0x1F))
                        return -EFAULT;
                mii_reg = data->val_in;
index 0f8d9619adea686ff5926bac1d3e868a8e987813..16c193a6c95c1e21e8fdc15a69874cad1e4fd910 100644 (file)
@@ -4346,8 +4346,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
                data->phy_id = adapter->hw.phy.addr;
                break;
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                switch (data->reg_num & 0x1F) {
                case MII_BMCR:
                        data->val_out = adapter->phy_regs.bmcr;
index 24ae671e4cb27dd4cd2d23080d3349792ab3e88f..8a95234d419c8a4d0c32b7a2b33d9d6dc17c29c6 100644 (file)
@@ -2225,8 +2225,6 @@ static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                emac_mdio_write(ndev, dev->phy.address, data[1], data[2]);
                return 0;
        default:
index 90b0b1b91730bfec62af4e589c5ff4ff8fceef37..943186b78483f27d9f7fb6d761ea0f5f60158d07 100644 (file)
@@ -4914,8 +4914,6 @@ static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
                data->phy_id = adapter->hw.phy.addr;
                break;
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (igb_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
                                     &data->val_out))
                        return -EIO;
index 7d2e610f14ff4daf57eb1a175f6abefa99cae0a8..21f8754fcf4c128f6b4f6b4aee6678ff83f69bef 100644 (file)
@@ -380,10 +380,7 @@ int mdio_mii_ioctl(const struct mdio_if_info *mdio,
                cmd = SIOCGMIIREG;
                break;
        case SIOCGMIIREG:
-               break;
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                break;
        default:
                return -EOPNOTSUPP;
index d81a5d22a3a9f0dd88514753ce62649255691380..210b2b164b303b9283e11c5d7802571f108ef29c 100644 (file)
@@ -433,9 +433,6 @@ int generic_mii_ioctl(struct mii_if_info *mii_if,
        case SIOCSMIIREG: {
                u16 val = mii_data->val_in;
 
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                if (mii_data->phy_id == mii_if->phy_id) {
                        switch(mii_data->reg_num) {
                        case MII_BMCR: {
index b52e5d98a3b770a70533d93a69fb7f069b51b54b..b2722c44337eb5638a67fba137699b4d3b9fc5ef 100644 (file)
@@ -3075,8 +3075,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (dev->if_port == PORT_TP) {
                        if ((data->phy_id & 0x1f) == np->phy_addr_external) {
                                if ((data->reg_num & 0x1f) == MII_ADVERTISE)
index c47ba3610c58fc4deb8f0f137c53f583667cc8bb..0c44b48f138479ec6c8ca85a67c20bac94477acc 100644 (file)
@@ -1784,11 +1784,6 @@ static int netdrv_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
                break;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable (CAP_NET_ADMIN)) {
-                       rc = -EPERM;
-                       break;
-               }
-
                spin_lock_irqsave (&tp->lock, flags);
                mdio_write (dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
                spin_unlock_irqrestore (&tp->lock, flags);
index 382d26520accf57d903373117348b233b9e14e36..d836af1b9034d97ab03bd805628f83c1a20dc130 100644 (file)
@@ -1124,8 +1124,6 @@ static int el3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                        int saved_window;
                        unsigned long flags;
 
-                       if (!capable(CAP_NET_ADMIN))
-                               return -EPERM;
                        spin_lock_irqsave(&lp->window_lock, flags);
                        saved_window = inw(ioaddr + EL3_CMD) >> 13;
                        EL3WINDOW(4);
index 3b681c1d7523f433e24d174b7e642664b765de3d..4f2fef6cf6dcddc504137fd56cba4cc8f3a82777 100644 (file)
@@ -706,8 +706,6 @@ static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        data[3] = mdio_read(mii_addr, data[0], data[1] & 0x1f);
        return 0;
     case SIOCSMIIREG:          /* Write MII PHY register. */
-       if (!capable(CAP_NET_ADMIN))
-           return -EPERM;
        mdio_write(mii_addr, data[0], data[1] & 0x1f, data[2]);
        return 0;
     }
index 9ef1c1bfa83d3062b6c2d903faceee333eb47141..8996b45ffffb476ed68e58f992dee08c9bbf5684 100644 (file)
@@ -1204,8 +1204,6 @@ static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        data[3] = mdio_read(mii_addr, data[0], data[1] & 0x1f);
        return 0;
     case SIOCSMIIREG:          /* Write MII PHY register. */
-       if (!capable(CAP_NET_ADMIN))
-           return -EPERM;
        mdio_write(mii_addr, data[0], data[1] & 0x1f, data[2]);
        return 0;
     }
index 68de89167b49f48e05a7f95e6f1f7fc659e8ad36..9709dd173ddc9904ee2038b026d2fc2ad27b0957 100644 (file)
@@ -1575,8 +1575,6 @@ do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
        data[3] = mii_rd(ioaddr, data[0] & 0x1f, data[1] & 0x1f);
        break;
       case SIOCSMIIREG:                /* Write the specified MII register */
-       if (!capable(CAP_NET_ADMIN))
-           return -EPERM;
        mii_wr(ioaddr, data[0] & 0x1f, data[1] & 0x1f, data[2], 16);
        break;
       default:
index eda94fcd4065a9391150c4ce27ff8c01553af2bf..6b71b0034060943077f0effbd90c609cd5080462 100644 (file)
@@ -324,9 +324,6 @@ int phy_mii_ioctl(struct phy_device *phydev,
                break;
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                if (mii_data->phy_id == phydev->addr) {
                        switch(mii_data->reg_num) {
                        case MII_BMCR:
index ec0092affd5d349f3090d07f3ed1a1f1efd01539..a91e9b3a3eb600bf8bdae723e8426715c9119f14 100644 (file)
@@ -1991,8 +1991,6 @@ static int rtl_xmii_ioctl(struct rtl8169_private *tp, struct mii_ioctl_data *dat
                return 0;
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                mdio_write(tp->mmio_addr, data->reg_num & 0x1f, data->val_in);
                return 0;
        }
index d8827323507a6f19f75ae7c590e99437db908096..97949d0a699b0c99bda67ba110bd70b605e4d6d0 100644 (file)
@@ -2128,8 +2128,6 @@ static int mii_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                mdio_write(net_dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
                return 0;
        default:
index 1a1e68549f5c2e38ff1f654734ef33fd7d0ffc13..62e852e21ab2cf7e6444cdd5fab27f2ae5c57484 100644 (file)
@@ -2496,9 +2496,6 @@ static int skge_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
        }
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                spin_lock_bh(&hw->phy_lock);
                if (hw->chip_id == CHIP_ID_GENESIS)
                        err = xm_phy_write(hw, skge->port, data->reg_num & 0x1f,
index bab591b418df218dd2c2f2c9ee1728cd5e7e318e..00bc65a0aac9e609156cfde1cdd719acb6ca2916 100644 (file)
@@ -1214,9 +1214,6 @@ static int sky2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
        }
 
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                spin_lock_bh(&sky2->phy_lock);
                err = gm_phy_write(hw, sky2->port, data->reg_num & 0x1f,
                                   data->val_in);
index e0dfdd246470a25d30354e95ba675622d91176b1..305ec3d783dba30dd396b2fcfb6df9ce12913384 100644 (file)
@@ -2852,9 +2852,7 @@ static int gem_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
                break;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN))
-                       rc = -EPERM;
-               else if (!gp->running)
+               if (!gp->running)
                        rc = -EAGAIN;
                else {
                        __phy_write(gp, data->phy_id & 0x1f, data->reg_num & 0x1f,
index bd49810526091f566e0d5b5c03fd8a10595079ab..7cf80006eafa680c8255b9fbb7b56f81e0b3b04e 100644 (file)
@@ -10610,9 +10610,6 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
                if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)
                        break;                  /* We have no PHY */
 
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
-
                if (tp->link_config.phy_is_low_power)
                        return -EAGAIN;
 
index 49e273bceed62e7cc3fbcf3c63398e0805c7ae19..3d31b47332bba3b3766a9ead9bf59fb6bc4cec70 100644 (file)
@@ -1004,8 +1004,6 @@ static int TLan_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-                       if (!capable(CAP_NET_ADMIN))
-                               return -EPERM;
                        TLan_MiiWriteReg(dev, data->phy_id & 0x1f,
                                         data->reg_num & 0x1f, data->val_in);
                        return 0;
index b89b73c0b30bae865a1408a2a2c584a0b17503c4..6b2330e4206e12467c7e28c08e155a4c5bccf668 100644 (file)
@@ -923,8 +923,6 @@ static int private_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable (CAP_NET_ADMIN))
-                       return -EPERM;
                if (regnum & ~0x1f)
                        return -EINVAL;
                if (data->phy_id == phy) {
index 3e59397e538632d7c73bf2d4c712a99466b5610d..b38d3b7f6e35dd9be780efc2b5a11ae8ee974c4c 100644 (file)
@@ -1470,8 +1470,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                spin_lock_irq(&np->lock);
                mdio_write(dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
                spin_unlock_irq(&np->lock);
index ced1446dec04d436069947208dbae5e8e9dcc6a5..e04e5bee005ca36eaff7ebe8c9ccd4ae8c34e3ef 100644 (file)
@@ -2328,14 +2328,10 @@ static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd
                miidata->phy_id = readb(&regs->MIIADR) & 0x1f;
                break;
        case SIOCGMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (velocity_mii_read(vptr->mac_regs, miidata->reg_num & 0x1f, &(miidata->val_out)) < 0)
                        return -ETIMEDOUT;
                break;
        case SIOCSMIIREG:
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                spin_lock_irqsave(&vptr->lock, flags);
                err = velocity_mii_write(vptr->mac_regs, miidata->reg_num & 0x1f, miidata->val_in);
                spin_unlock_irqrestore(&vptr->lock, flags);
index 4987040c414b258ccbec65fd43d4706d9a447998..40ad0dee0406a465bf3bcc15b5c120322e0f81c1 100644 (file)
@@ -1365,8 +1365,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                return 0;
 
        case SIOCSMIIREG:               /* Write MII PHY register. */
-               if (!capable(CAP_NET_ADMIN))
-                       return -EPERM;
                if (data->phy_id == np->phys[0]) {
                        u16 value = data->val_in;
                        switch (data->reg_num) {