r8169: improve rtl_ocp_reg_failure
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 8 Jan 2021 11:58:54 +0000 (12:58 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sun, 10 Jan 2021 02:07:52 +0000 (18:07 -0800)
Use WARN_ONCE here to get a call trace in case of a problem.
This facilitates finding the offending code part.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/realtek/r8169_main.c

index 317b34723ba02fb640dc038100e10c70abc0d3b4..755767b7e7e7ece40cc04bfa22abc9bcc2925bd8 100644 (file)
@@ -812,14 +812,9 @@ static void rtl_eri_clear_bits(struct rtl8169_private *tp, int addr, u32 m)
        rtl_w0w1_eri(tp, addr, 0, m);
 }
 
-static bool rtl_ocp_reg_failure(struct rtl8169_private *tp, u32 reg)
+static bool rtl_ocp_reg_failure(u32 reg)
 {
-       if (reg & 0xffff0001) {
-               if (net_ratelimit())
-                       netdev_err(tp->dev, "Invalid ocp reg %x!\n", reg);
-               return true;
-       }
-       return false;
+       return WARN_ONCE(reg & 0xffff0001, "Invalid ocp reg %x!\n", reg);
 }
 
 DECLARE_RTL_COND(rtl_ocp_gphy_cond)
@@ -829,7 +824,7 @@ DECLARE_RTL_COND(rtl_ocp_gphy_cond)
 
 static void r8168_phy_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
 {
-       if (rtl_ocp_reg_failure(tp, reg))
+       if (rtl_ocp_reg_failure(reg))
                return;
 
        RTL_W32(tp, GPHY_OCP, OCPAR_FLAG | (reg << 15) | data);
@@ -839,7 +834,7 @@ static void r8168_phy_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
 
 static int r8168_phy_ocp_read(struct rtl8169_private *tp, u32 reg)
 {
-       if (rtl_ocp_reg_failure(tp, reg))
+       if (rtl_ocp_reg_failure(reg))
                return 0;
 
        RTL_W32(tp, GPHY_OCP, reg << 15);
@@ -850,7 +845,7 @@ static int r8168_phy_ocp_read(struct rtl8169_private *tp, u32 reg)
 
 static void r8168_mac_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
 {
-       if (rtl_ocp_reg_failure(tp, reg))
+       if (rtl_ocp_reg_failure(reg))
                return;
 
        RTL_W32(tp, OCPDR, OCPAR_FLAG | (reg << 15) | data);
@@ -858,7 +853,7 @@ static void r8168_mac_ocp_write(struct rtl8169_private *tp, u32 reg, u32 data)
 
 static u16 r8168_mac_ocp_read(struct rtl8169_private *tp, u32 reg)
 {
-       if (rtl_ocp_reg_failure(tp, reg))
+       if (rtl_ocp_reg_failure(reg))
                return 0;
 
        RTL_W32(tp, OCPDR, reg << 15);