]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: print just once for unknown C2H events
authorPing-Ke Shih <pkshih@realtek.com>
Mon, 4 Aug 2025 01:22:33 +0000 (09:22 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Tue, 12 Aug 2025 08:12:26 +0000 (16:12 +0800)
When driver receives new or unknown C2H events, it print out messages
repeatedly once events are received, like

  rtw89_8922ae 0000:81:00.0: PHY c2h class 2 not support

To avoid the thousands of messages, use rtw89_info_once() instead. Also,
print out class/func for unknown (undefined) class.

Reported-by: Sean Anderson <sean.anderson@linux.dev>
Closes: https://lore.kernel.org/linux-wireless/20250729204437.164320-1-sean.anderson@linux.dev/
Reviewed-by: Sean Anderson <sean.anderson@linux.dev>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250804012234.8913-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/debug.h
drivers/net/wireless/realtek/rtw89/mac.c
drivers/net/wireless/realtek/rtw89/phy.c

index fc690f7c55dc7a550bd3912f4cf9080388fcda73..a364e7adb0798e5373251bac96f283e4f7d2f45a 100644 (file)
@@ -56,6 +56,7 @@ static inline void rtw89_debugfs_deinit(struct rtw89_dev *rtwdev) {}
 #endif
 
 #define rtw89_info(rtwdev, a...) dev_info((rtwdev)->dev, ##a)
+#define rtw89_info_once(rtwdev, a...) dev_info_once((rtwdev)->dev, ##a)
 #define rtw89_warn(rtwdev, a...) dev_warn((rtwdev)->dev, ##a)
 #define rtw89_err(rtwdev, a...) dev_err((rtwdev)->dev, ##a)
 
index 5a5da9d9c0c5b75bb25fa47da804d8c4757bee7c..ef17a307b7702defa6d66d909ef7f4ff86cb89d4 100644 (file)
@@ -5813,12 +5813,11 @@ void rtw89_mac_c2h_handle(struct rtw89_dev *rtwdev, struct sk_buff *skb,
        case RTW89_MAC_C2H_CLASS_ROLE:
                return;
        default:
-               rtw89_info(rtwdev, "MAC c2h class %d not support\n", class);
-               return;
+               break;
        }
        if (!handler) {
-               rtw89_info(rtwdev, "MAC c2h class %d func %d not support\n", class,
-                          func);
+               rtw89_info_once(rtwdev, "MAC c2h class %d func %d not support\n",
+                               class, func);
                return;
        }
        handler(rtwdev, skb, len);
index d607577b353c6879444886d1a21966b8aa45f12d..01a03d2de3ffbec9dc5040e7cface07abf1c3189 100644 (file)
@@ -3626,12 +3626,11 @@ void rtw89_phy_c2h_handle(struct rtw89_dev *rtwdev, struct sk_buff *skb,
                        handler = rtw89_phy_c2h_dm_handler[func];
                break;
        default:
-               rtw89_info(rtwdev, "PHY c2h class %d not support\n", class);
-               return;
+               break;
        }
        if (!handler) {
-               rtw89_info(rtwdev, "PHY c2h class %d func %d not support\n", class,
-                          func);
+               rtw89_info_once(rtwdev, "PHY c2h class %d func %d not support\n",
+                               class, func);
                return;
        }
        handler(rtwdev, skb, len);