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 - 2026 Red Hat, Inc.