drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 - drivers/net/wireless/realtek/rtw88/rtw8723d_table.c | 1 - 2 files changed, 2 deletions(-)
This is needed for AP mode. Otherwise client sees the network, but
can't connect to it.
REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac
init function (__rtw8723x_mac_init), but the value was overwritten
from mac table later.
Tested on rtl8723cs, that reuses rtw8703b driver.
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
---
drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 -
drivers/net/wireless/realtek/rtw88/rtw8723d_table.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
index 81020fd907aa6..fe4b112f582ba 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c
@@ -199,7 +199,6 @@ static const u32 rtw8703b_mac[] = {
0x035, 0x00000000,
0x067, 0x00000002,
0x092, 0x00000080,
- 0x421, 0x0000000F,
0x428, 0x0000000A,
0x429, 0x00000010,
0x430, 0x00000000,
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
index 27a22b392df00..bc7c6111782b2 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
@@ -10,7 +10,6 @@ static const u32 rtw8723d_mac[] = {
0x020, 0x00000013,
0x02F, 0x00000010,
0x077, 0x00000007,
- 0x421, 0x0000000F,
0x428, 0x0000000A,
0x429, 0x00000010,
0x430, 0x00000000,
--
2.47.2
Andrey Skvortsov <andrej.skvortzov@gmail.com> wrote: > This is needed for AP mode. Otherwise client sees the network, but > can't connect to it. > > REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac > init function (__rtw8723x_mac_init), but the value was overwritten > from mac table later. Since the tables were copied from vendor driver, I suspect people might overwrite the tables again resulting in regression. So we can add a mac_post_init to set the value after loading parameters: rtw_mac_init(rtwdev); // not set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN chip->ops->phy_set_param(rtwdev); // "0x421, 0x0000000F," by table rtw_mac_postinit(rtwdev); // set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN Only rtw8703b/rtw8723d implement postinit ops. > > Tested on rtl8723cs, that reuses rtw8703b driver. > > Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> > --- > drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c | 1 - > drivers/net/wireless/realtek/rtw88/rtw8723d_table.c | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c > b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c > index 81020fd907aa6..fe4b112f582ba 100644 > --- a/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c > +++ b/drivers/net/wireless/realtek/rtw88/rtw8703b_tables.c > @@ -199,7 +199,6 @@ static const u32 rtw8703b_mac[] = { > 0x035, 0x00000000, > 0x067, 0x00000002, > 0x092, 0x00000080, > - 0x421, 0x0000000F, > 0x428, 0x0000000A, > 0x429, 0x00000010, > 0x430, 0x00000000, > diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c > b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c > index 27a22b392df00..bc7c6111782b2 100644 > --- a/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c > +++ b/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c > @@ -10,7 +10,6 @@ static const u32 rtw8723d_mac[] = { > 0x020, 0x00000013, > 0x02F, 0x00000010, > 0x077, 0x00000007, > - 0x421, 0x0000000F, > 0x428, 0x0000000A, > 0x429, 0x00000010, > 0x430, 0x00000000, > -- > 2.47.2
On 25-06-30 01:51, Ping-Ke Shih wrote: > Andrey Skvortsov <andrej.skvortzov@gmail.com> wrote: > > This is needed for AP mode. Otherwise client sees the network, but > > can't connect to it. > > > > REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac > > init function (__rtw8723x_mac_init), but the value was overwritten > > from mac table later. > > Since the tables were copied from vendor driver, I suspect people might > overwrite the tables again resulting in regression. > > So we can add a mac_post_init to set the value after loading parameters: > > rtw_mac_init(rtwdev); // not set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN > > chip->ops->phy_set_param(rtwdev); // "0x421, 0x0000000F," by table > > rtw_mac_postinit(rtwdev); // set REG_FWHW_TXQ_CTRL+1 to WLAN_TXQ_RPT_EN > > Only rtw8703b/rtw8723d implement postinit ops. > Thanks for the feedback, I'll add this in v2. -- Best regards, Andrey Skvortsov
© 2016 - 2025 Red Hat, Inc.