r8169: remove no longer needed checks for device being runtime-active
authorHeiner Kallweit <hkallweit1@gmail.com>
Sat, 20 Jun 2020 20:37:01 +0000 (22:37 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Jun 2020 23:26:01 +0000 (16:26 -0700)
Because the netdevice is marked as detached now when parent is not
accessible we can remove quite some checks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169_main.c

index ec724e69931d5d050d9c2b0f788bebb33f0675c3..81a1cea0989d6634d43e3d229db35bcdf359d468 100644 (file)
@@ -1422,24 +1422,17 @@ static void __rtl8169_set_wol(struct rtl8169_private *tp, u32 wolopts)
 static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
 {
        struct rtl8169_private *tp = netdev_priv(dev);
-       struct device *d = tp_to_dev(tp);
 
        if (wol->wolopts & ~WAKE_ANY)
                return -EINVAL;
 
-       pm_runtime_get_noresume(d);
-
        rtl_lock_work(tp);
 
        tp->saved_wolopts = wol->wolopts;
-
-       if (pm_runtime_active(d))
-               __rtl8169_set_wol(tp, tp->saved_wolopts);
+       __rtl8169_set_wol(tp, tp->saved_wolopts);
 
        rtl_unlock_work(tp);
 
-       pm_runtime_put_noidle(d);
-
        return 0;
 }
 
@@ -1657,17 +1650,10 @@ static void rtl8169_get_ethtool_stats(struct net_device *dev,
                                      struct ethtool_stats *stats, u64 *data)
 {
        struct rtl8169_private *tp = netdev_priv(dev);
-       struct device *d = tp_to_dev(tp);
-       struct rtl8169_counters *counters = tp->counters;
-
-       ASSERT_RTNL();
-
-       pm_runtime_get_noresume(d);
-
-       if (pm_runtime_active(d))
-               rtl8169_update_counters(tp);
+       struct rtl8169_counters *counters;
 
-       pm_runtime_put_noidle(d);
+       counters = tp->counters;
+       rtl8169_update_counters(tp);
 
        data[0] = le64_to_cpu(counters->tx_packets);
        data[1] = le64_to_cpu(counters->rx_packets);
@@ -1899,48 +1885,26 @@ static int rtl_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
 static int rtl8169_get_eee(struct net_device *dev, struct ethtool_eee *data)
 {
        struct rtl8169_private *tp = netdev_priv(dev);
-       struct device *d = tp_to_dev(tp);
-       int ret;
 
        if (!rtl_supports_eee(tp))
                return -EOPNOTSUPP;
 
-       pm_runtime_get_noresume(d);
-
-       if (!pm_runtime_active(d)) {
-               ret = -EOPNOTSUPP;
-       } else {
-               ret = phy_ethtool_get_eee(tp->phydev, data);
-       }
-
-       pm_runtime_put_noidle(d);
-
-       return ret;
+       return phy_ethtool_get_eee(tp->phydev, data);
 }
 
 static int rtl8169_set_eee(struct net_device *dev, struct ethtool_eee *data)
 {
        struct rtl8169_private *tp = netdev_priv(dev);
-       struct device *d = tp_to_dev(tp);
        int ret;
 
        if (!rtl_supports_eee(tp))
                return -EOPNOTSUPP;
 
-       pm_runtime_get_noresume(d);
-
-       if (!pm_runtime_active(d)) {
-               ret = -EOPNOTSUPP;
-               goto out;
-       }
-
        ret = phy_ethtool_set_eee(tp->phydev, data);
 
        if (!ret)
                tp->eee_adv = phy_read_mmd(dev->phydev, MDIO_MMD_AN,
                                           MDIO_AN_EEE_ADV);
-out:
-       pm_runtime_put_noidle(d);
        return ret;
 }
 
@@ -2219,19 +2183,13 @@ static void rtl_rar_set(struct rtl8169_private *tp, u8 *addr)
 static int rtl_set_mac_address(struct net_device *dev, void *p)
 {
        struct rtl8169_private *tp = netdev_priv(dev);
-       struct device *d = tp_to_dev(tp);
        int ret;
 
        ret = eth_mac_addr(dev, p);
        if (ret)
                return ret;
 
-       pm_runtime_get_noresume(d);
-
-       if (pm_runtime_active(d))
-               rtl_rar_set(tp, dev->dev_addr);
-
-       pm_runtime_put_noidle(d);
+       rtl_rar_set(tp, dev->dev_addr);
 
        return 0;
 }