]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:10 +0000 (15:34 -0500)
[ Upstream commit 7e1c44fe4c2e1e01fa47d9490893d95309a99687 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
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 8b7ca63af7ed0abe5d8ff0b3176a704ee923bc74..b956ea2add919cf45822276c7078cb681285287a 100644 (file)
@@ -5532,12 +5532,11 @@ void rtw89_mac_c2h_handle(struct rtw89_dev *rtwdev, struct sk_buff *skb,
        case RTW89_MAC_C2H_CLASS_FWDBG:
                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 355c3f58ab1850f9276155611f6c329af0560b17..b473e02ecd9e74a4e873c1cca3ce68607a587cc6 100644 (file)
@@ -3125,12 +3125,11 @@ void rtw89_phy_c2h_handle(struct rtw89_dev *rtwdev, struct sk_buff *skb,
                        return;
                fallthrough;
        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);