Use ASSERT_RTNL() rather than WARN_ON(!lockdep_rtnl_is_held()) which
stops working when lockdep fires, and we end up with lots of warnings.

Fixes: 9525ae83959b ("phylink: add phylink infrastructure")
Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
---
 drivers/net/phy/phylink.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index c89b8c63f16a..de1d65bc977c 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -804,7 +804,7 @@ void phylink_disconnect_phy(struct phylink *pl)
 {
        struct phy_device *phy;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        phy = pl->phydev;
        if (phy) {
@@ -874,7 +874,7 @@ EXPORT_SYMBOL_GPL(phylink_mac_change);
  */
 void phylink_start(struct phylink *pl)
 {
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        netdev_info(pl->netdev, "configuring for %s/%s link mode\n",
                    phylink_an_mode_str(pl->link_an_mode),
@@ -914,7 +914,7 @@ EXPORT_SYMBOL_GPL(phylink_start);
  */
 void phylink_stop(struct phylink *pl)
 {
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                phy_stop(pl->phydev);
@@ -938,7 +938,7 @@ EXPORT_SYMBOL_GPL(phylink_stop);
  */
 void phylink_ethtool_get_wol(struct phylink *pl, struct ethtool_wolinfo *wol)
 {
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        wol->supported = 0;
        wol->wolopts = 0;
@@ -963,7 +963,7 @@ int phylink_ethtool_set_wol(struct phylink *pl, struct 
ethtool_wolinfo *wol)
 {
        int ret = -EOPNOTSUPP;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                ret = phy_ethtool_set_wol(pl->phydev, wol);
@@ -1008,7 +1008,7 @@ int phylink_ethtool_ksettings_get(struct phylink *pl,
 {
        struct phylink_link_state link_state;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev) {
                phy_ethtool_ksettings_get(pl->phydev, kset);
@@ -1061,7 +1061,7 @@ int phylink_ethtool_ksettings_set(struct phylink *pl,
        struct phylink_link_state config;
        int ret;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (kset->base.autoneg != AUTONEG_DISABLE &&
            kset->base.autoneg != AUTONEG_ENABLE)
@@ -1162,7 +1162,7 @@ int phylink_ethtool_nway_reset(struct phylink *pl)
 {
        int ret = 0;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                ret = phy_restart_aneg(pl->phydev);
@@ -1180,7 +1180,7 @@ EXPORT_SYMBOL_GPL(phylink_ethtool_nway_reset);
 void phylink_ethtool_get_pauseparam(struct phylink *pl,
                                    struct ethtool_pauseparam *pause)
 {
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        pause->autoneg = !!(pl->link_config.pause & MLO_PAUSE_AN);
        pause->rx_pause = !!(pl->link_config.pause & MLO_PAUSE_RX);
@@ -1198,7 +1198,7 @@ int phylink_ethtool_set_pauseparam(struct phylink *pl,
 {
        struct phylink_link_state *config = &pl->link_config;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (!phylink_test(pl->supported, Pause) &&
            !phylink_test(pl->supported, Asym_Pause))
@@ -1284,7 +1284,7 @@ int phylink_get_eee_err(struct phylink *pl)
 {
        int ret = 0;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                ret = phy_get_eee_err(pl->phydev);
@@ -1302,7 +1302,7 @@ int phylink_ethtool_get_eee(struct phylink *pl, struct 
ethtool_eee *eee)
 {
        int ret = -EOPNOTSUPP;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                ret = phy_ethtool_get_eee(pl->phydev, eee);
@@ -1320,7 +1320,7 @@ int phylink_ethtool_set_eee(struct phylink *pl, struct 
ethtool_eee *eee)
 {
        int ret = -EOPNOTSUPP;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev)
                ret = phy_ethtool_set_eee(pl->phydev, eee);
@@ -1510,7 +1510,7 @@ int phylink_mii_ioctl(struct phylink *pl, struct ifreq 
*ifr, int cmd)
        struct mii_ioctl_data *mii = if_mii(ifr);
        int  ret;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        if (pl->phydev) {
                /* PHYs only exist for MLO_AN_PHY and SGMII */
@@ -1578,7 +1578,7 @@ static int phylink_sfp_module_insert(void *upstream,
        port = sfp_parse_port(pl->sfp_bus, id, support);
        iface = sfp_parse_interface(pl->sfp_bus, id);
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        switch (iface) {
        case PHY_INTERFACE_MODE_SGMII:
@@ -1647,7 +1647,7 @@ static void phylink_sfp_link_down(void *upstream)
 {
        struct phylink *pl = upstream;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        set_bit(PHYLINK_DISABLE_LINK, &pl->phylink_disable_state);
        flush_work(&pl->resolve);
@@ -1659,7 +1659,7 @@ static void phylink_sfp_link_up(void *upstream)
 {
        struct phylink *pl = upstream;
 
-       WARN_ON(!lockdep_rtnl_is_held());
+       ASSERT_RTNL();
 
        clear_bit(PHYLINK_DISABLE_LINK, &pl->phylink_disable_state);
        phylink_run_resolve(pl);
-- 
2.7.4

Reply via email to