* [PATCH rtw-next 0/2] wifi: rtw89: only print once for unknown C2H events @ 2025-08-04 1:22 Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 1/2] wifi: rtw89: print just " Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done Ping-Ke Shih 0 siblings, 2 replies; 6+ messages in thread From: Ping-Ke Shih @ 2025-08-04 1:22 UTC (permalink / raw) To: linux-wireless; +Cc: rtl8821cerfe2, sean.anderson The unknown C2H events are printed once driver receives, causing thousands of messages. Since this is only for developers who must implement the handlers during development, to print once is enough to be a hint. Also, to avoid somehow missing to implement causes messages to users. Ping-Ke Shih (2): wifi: rtw89: print just once for unknown C2H events wifi: rtw89: add dummy C2H handlers for BCN resend and update done drivers/net/wireless/realtek/rtw89/debug.h | 1 + drivers/net/wireless/realtek/rtw89/mac.c | 20 +++++++++++++++----- drivers/net/wireless/realtek/rtw89/mac.h | 1 + drivers/net/wireless/realtek/rtw89/phy.c | 7 +++---- 4 files changed, 20 insertions(+), 9 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH rtw-next 1/2] wifi: rtw89: print just once for unknown C2H events 2025-08-04 1:22 [PATCH rtw-next 0/2] wifi: rtw89: only print once for unknown C2H events Ping-Ke Shih @ 2025-08-04 1:22 ` Ping-Ke Shih 2025-08-04 18:40 ` Sean Anderson 2025-08-12 8:20 ` Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done Ping-Ke Shih 1 sibling, 2 replies; 6+ messages in thread From: Ping-Ke Shih @ 2025-08-04 1:22 UTC (permalink / raw) To: linux-wireless; +Cc: rtl8821cerfe2, sean.anderson 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/ Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> --- drivers/net/wireless/realtek/rtw89/debug.h | 1 + drivers/net/wireless/realtek/rtw89/mac.c | 7 +++---- drivers/net/wireless/realtek/rtw89/phy.c | 7 +++---- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/debug.h b/drivers/net/wireless/realtek/rtw89/debug.h index fc690f7c55dc..a364e7adb079 100644 --- a/drivers/net/wireless/realtek/rtw89/debug.h +++ b/drivers/net/wireless/realtek/rtw89/debug.h @@ -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) diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c index 5a5da9d9c0c5..ef17a307b770 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.c +++ b/drivers/net/wireless/realtek/rtw89/mac.c @@ -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); diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c index d607577b353c..01a03d2de3ff 100644 --- a/drivers/net/wireless/realtek/rtw89/phy.c +++ b/drivers/net/wireless/realtek/rtw89/phy.c @@ -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); -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH rtw-next 1/2] wifi: rtw89: print just once for unknown C2H events 2025-08-04 1:22 ` [PATCH rtw-next 1/2] wifi: rtw89: print just " Ping-Ke Shih @ 2025-08-04 18:40 ` Sean Anderson 2025-08-12 8:20 ` Ping-Ke Shih 1 sibling, 0 replies; 6+ messages in thread From: Sean Anderson @ 2025-08-04 18:40 UTC (permalink / raw) To: Ping-Ke Shih, linux-wireless; +Cc: rtl8821cerfe2 On 8/3/25 21:22, Ping-Ke Shih wrote: > 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/ > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> > --- > drivers/net/wireless/realtek/rtw89/debug.h | 1 + > drivers/net/wireless/realtek/rtw89/mac.c | 7 +++---- > drivers/net/wireless/realtek/rtw89/phy.c | 7 +++---- > 3 files changed, 7 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/wireless/realtek/rtw89/debug.h b/drivers/net/wireless/realtek/rtw89/debug.h > index fc690f7c55dc..a364e7adb079 100644 > --- a/drivers/net/wireless/realtek/rtw89/debug.h > +++ b/drivers/net/wireless/realtek/rtw89/debug.h > @@ -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) > > diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c > index 5a5da9d9c0c5..ef17a307b770 100644 > --- a/drivers/net/wireless/realtek/rtw89/mac.c > +++ b/drivers/net/wireless/realtek/rtw89/mac.c > @@ -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); > diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c > index d607577b353c..01a03d2de3ff 100644 > --- a/drivers/net/wireless/realtek/rtw89/phy.c > +++ b/drivers/net/wireless/realtek/rtw89/phy.c > @@ -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); Reviewed-by: Sean Anderson <sean.anderson@linux.dev> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH rtw-next 1/2] wifi: rtw89: print just once for unknown C2H events 2025-08-04 1:22 ` [PATCH rtw-next 1/2] wifi: rtw89: print just " Ping-Ke Shih 2025-08-04 18:40 ` Sean Anderson @ 2025-08-12 8:20 ` Ping-Ke Shih 1 sibling, 0 replies; 6+ messages in thread From: Ping-Ke Shih @ 2025-08-12 8:20 UTC (permalink / raw) To: Ping-Ke Shih, linux-wireless; +Cc: rtl8821cerfe2, sean.anderson Ping-Ke Shih <pkshih@realtek.com> wrote: > 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/ > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> > Reviewed-by: Sean Anderson <sean.anderson@linux.dev> 2 patch(es) applied to rtw-next branch of rtw.git, thanks. 7e1c44fe4c2e wifi: rtw89: print just once for unknown C2H events 04a2de8cfc95 wifi: rtw89: add dummy C2H handlers for BCN resend and update done --- https://github.com/pkshih/rtw.git ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done 2025-08-04 1:22 [PATCH rtw-next 0/2] wifi: rtw89: only print once for unknown C2H events Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 1/2] wifi: rtw89: print just " Ping-Ke Shih @ 2025-08-04 1:22 ` Ping-Ke Shih 2025-08-04 18:39 ` Sean Anderson 1 sibling, 1 reply; 6+ messages in thread From: Ping-Ke Shih @ 2025-08-04 1:22 UTC (permalink / raw) To: linux-wireless; +Cc: rtl8821cerfe2, sean.anderson Two C2H events are not listed, and driver throws MAC c2h class 0 func 6 not support MAC c2h class 1 func 3 not support Since the implementation in vendor driver does nothing, add two dummy functions for them. Reported-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> Closes: https://lore.kernel.org/linux-wireless/d2d62793-046c-4b55-93ed-1d1f43cff7f2@gmail.com/ Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> --- drivers/net/wireless/realtek/rtw89/mac.c | 13 ++++++++++++- drivers/net/wireless/realtek/rtw89/mac.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c index ef17a307b770..33a7dd9d6f0e 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.c +++ b/drivers/net/wireless/realtek/rtw89/mac.c @@ -5235,6 +5235,11 @@ rtw89_mac_c2h_bcn_cnt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) { } +static void +rtw89_mac_c2h_bcn_upd_done(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) +{ +} + static void rtw89_mac_c2h_pkt_ofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, u32 len) @@ -5257,6 +5262,11 @@ rtw89_mac_c2h_pkt_ofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, rtw89_complete_cond(wait, cond, &data); } +static void +rtw89_mac_c2h_bcn_resend(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) +{ +} + static void rtw89_mac_c2h_tx_duty_rpt(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, u32 len) { @@ -5646,7 +5656,7 @@ void (* const rtw89_mac_c2h_ofld_handler[])(struct rtw89_dev *rtwdev, [RTW89_MAC_C2H_FUNC_EFUSE_DUMP] = NULL, [RTW89_MAC_C2H_FUNC_READ_RSP] = NULL, [RTW89_MAC_C2H_FUNC_PKT_OFLD_RSP] = rtw89_mac_c2h_pkt_ofld_rsp, - [RTW89_MAC_C2H_FUNC_BCN_RESEND] = NULL, + [RTW89_MAC_C2H_FUNC_BCN_RESEND] = rtw89_mac_c2h_bcn_resend, [RTW89_MAC_C2H_FUNC_MACID_PAUSE] = rtw89_mac_c2h_macid_pause, [RTW89_MAC_C2H_FUNC_SCANOFLD_RSP] = rtw89_mac_c2h_scanofld_rsp, [RTW89_MAC_C2H_FUNC_TX_DUTY_RPT] = rtw89_mac_c2h_tx_duty_rpt, @@ -5661,6 +5671,7 @@ void (* const rtw89_mac_c2h_info_handler[])(struct rtw89_dev *rtwdev, [RTW89_MAC_C2H_FUNC_DONE_ACK] = rtw89_mac_c2h_done_ack, [RTW89_MAC_C2H_FUNC_C2H_LOG] = rtw89_mac_c2h_log, [RTW89_MAC_C2H_FUNC_BCN_CNT] = rtw89_mac_c2h_bcn_cnt, + [RTW89_MAC_C2H_FUNC_BCN_UPD_DONE] = rtw89_mac_c2h_bcn_upd_done, }; static diff --git a/drivers/net/wireless/realtek/rtw89/mac.h b/drivers/net/wireless/realtek/rtw89/mac.h index 241e89983c4a..25fe5e5c8a97 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.h +++ b/drivers/net/wireless/realtek/rtw89/mac.h @@ -419,6 +419,7 @@ enum rtw89_mac_c2h_info_func { RTW89_MAC_C2H_FUNC_DONE_ACK, RTW89_MAC_C2H_FUNC_C2H_LOG, RTW89_MAC_C2H_FUNC_BCN_CNT, + RTW89_MAC_C2H_FUNC_BCN_UPD_DONE = 0x06, RTW89_MAC_C2H_FUNC_INFO_MAX, }; -- 2.25.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done 2025-08-04 1:22 ` [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done Ping-Ke Shih @ 2025-08-04 18:39 ` Sean Anderson 0 siblings, 0 replies; 6+ messages in thread From: Sean Anderson @ 2025-08-04 18:39 UTC (permalink / raw) To: Ping-Ke Shih, linux-wireless; +Cc: rtl8821cerfe2 On 8/3/25 21:22, Ping-Ke Shih wrote: > Two C2H events are not listed, and driver throws > > MAC c2h class 0 func 6 not support > MAC c2h class 1 func 3 not support > > Since the implementation in vendor driver does nothing, add two dummy > functions for them. > > Reported-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> > Closes: https://lore.kernel.org/linux-wireless/d2d62793-046c-4b55-93ed-1d1f43cff7f2@gmail.com/ > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> > --- > drivers/net/wireless/realtek/rtw89/mac.c | 13 ++++++++++++- > drivers/net/wireless/realtek/rtw89/mac.h | 1 + > 2 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c > index ef17a307b770..33a7dd9d6f0e 100644 > --- a/drivers/net/wireless/realtek/rtw89/mac.c > +++ b/drivers/net/wireless/realtek/rtw89/mac.c > @@ -5235,6 +5235,11 @@ rtw89_mac_c2h_bcn_cnt(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) > { > } > > +static void > +rtw89_mac_c2h_bcn_upd_done(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) > +{ > +} > + > static void > rtw89_mac_c2h_pkt_ofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, > u32 len) > @@ -5257,6 +5262,11 @@ rtw89_mac_c2h_pkt_ofld_rsp(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, > rtw89_complete_cond(wait, cond, &data); > } > > +static void > +rtw89_mac_c2h_bcn_resend(struct rtw89_dev *rtwdev, struct sk_buff *c2h, u32 len) > +{ > +} > + > static void > rtw89_mac_c2h_tx_duty_rpt(struct rtw89_dev *rtwdev, struct sk_buff *skb_c2h, u32 len) > { > @@ -5646,7 +5656,7 @@ void (* const rtw89_mac_c2h_ofld_handler[])(struct rtw89_dev *rtwdev, > [RTW89_MAC_C2H_FUNC_EFUSE_DUMP] = NULL, > [RTW89_MAC_C2H_FUNC_READ_RSP] = NULL, > [RTW89_MAC_C2H_FUNC_PKT_OFLD_RSP] = rtw89_mac_c2h_pkt_ofld_rsp, > - [RTW89_MAC_C2H_FUNC_BCN_RESEND] = NULL, > + [RTW89_MAC_C2H_FUNC_BCN_RESEND] = rtw89_mac_c2h_bcn_resend, > [RTW89_MAC_C2H_FUNC_MACID_PAUSE] = rtw89_mac_c2h_macid_pause, > [RTW89_MAC_C2H_FUNC_SCANOFLD_RSP] = rtw89_mac_c2h_scanofld_rsp, > [RTW89_MAC_C2H_FUNC_TX_DUTY_RPT] = rtw89_mac_c2h_tx_duty_rpt, > @@ -5661,6 +5671,7 @@ void (* const rtw89_mac_c2h_info_handler[])(struct rtw89_dev *rtwdev, > [RTW89_MAC_C2H_FUNC_DONE_ACK] = rtw89_mac_c2h_done_ack, > [RTW89_MAC_C2H_FUNC_C2H_LOG] = rtw89_mac_c2h_log, > [RTW89_MAC_C2H_FUNC_BCN_CNT] = rtw89_mac_c2h_bcn_cnt, > + [RTW89_MAC_C2H_FUNC_BCN_UPD_DONE] = rtw89_mac_c2h_bcn_upd_done, > }; > > static > diff --git a/drivers/net/wireless/realtek/rtw89/mac.h b/drivers/net/wireless/realtek/rtw89/mac.h > index 241e89983c4a..25fe5e5c8a97 100644 > --- a/drivers/net/wireless/realtek/rtw89/mac.h > +++ b/drivers/net/wireless/realtek/rtw89/mac.h > @@ -419,6 +419,7 @@ enum rtw89_mac_c2h_info_func { > RTW89_MAC_C2H_FUNC_DONE_ACK, > RTW89_MAC_C2H_FUNC_C2H_LOG, > RTW89_MAC_C2H_FUNC_BCN_CNT, > + RTW89_MAC_C2H_FUNC_BCN_UPD_DONE = 0x06, > RTW89_MAC_C2H_FUNC_INFO_MAX, > }; > It's not how I would fix it, but fine with me. Reviewed-by: Sean Anderson <sean.anderson@linux.dev> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-08-12 8:21 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-04 1:22 [PATCH rtw-next 0/2] wifi: rtw89: only print once for unknown C2H events Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 1/2] wifi: rtw89: print just " Ping-Ke Shih 2025-08-04 18:40 ` Sean Anderson 2025-08-12 8:20 ` Ping-Ke Shih 2025-08-04 1:22 ` [PATCH rtw-next 2/2] wifi: rtw89: add dummy C2H handlers for BCN resend and update done Ping-Ke Shih 2025-08-04 18:39 ` Sean Anderson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).