diff mbox series

wifi: rtw88: Fix action frame transmission fail before association

Message ID 20230615114348.7193-1-pkshih@realtek.com (mailing list archive)
State Accepted
Commit 2ce9a91fe8bfb0c8e647a6b7b88055881faf7502
Delegated to: Kalle Valo
Headers show
Series wifi: rtw88: Fix action frame transmission fail before association | expand

Commit Message

Ping-Ke Shih June 15, 2023, 11:43 a.m. UTC
From: Po-Hao Huang <phhuang@realtek.com>

For combo chips, antennas were controlled by bluetooth only during
power on. If WiFi wish to do transmission, notification to the coexistence
module are required. Previously we only do this before authentication.
To allow transmission before auth, such as management TX, now we start
the initiation of coexistence earlier so antennas are shared between
WiFi and bluetooth after set_channel(), and frames could then be sent.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/ps.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Kalle Valo June 21, 2023, 9:40 a.m. UTC | #1
Ping-Ke Shih <pkshih@realtek.com> wrote:

> From: Po-Hao Huang <phhuang@realtek.com>
> 
> For combo chips, antennas were controlled by bluetooth only during
> power on. If WiFi wish to do transmission, notification to the coexistence
> module are required. Previously we only do this before authentication.
> To allow transmission before auth, such as management TX, now we start
> the initiation of coexistence earlier so antennas are shared between
> WiFi and bluetooth after set_channel(), and frames could then be sent.
> 
> Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>

Patch applied to wireless-next.git, thanks.

2ce9a91fe8bf wifi: rtw88: Fix action frame transmission fail before association
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw88/ps.c b/drivers/net/wireless/realtek/rtw88/ps.c
index 53933fb38a330..43e80a3a8136d 100644
--- a/drivers/net/wireless/realtek/rtw88/ps.c
+++ b/drivers/net/wireless/realtek/rtw88/ps.c
@@ -18,6 +18,7 @@  static int rtw_ips_pwr_up(struct rtw_dev *rtwdev)
 	if (ret)
 		rtw_err(rtwdev, "leave idle state failed\n");
 
+	rtw_coex_ips_notify(rtwdev, COEX_IPS_LEAVE);
 	rtw_set_channel(rtwdev);
 
 	return ret;
@@ -63,8 +64,6 @@  int rtw_leave_ips(struct rtw_dev *rtwdev)
 
 	rtw_iterate_vifs(rtwdev, rtw_restore_port_cfg_iter, rtwdev);
 
-	rtw_coex_ips_notify(rtwdev, COEX_IPS_LEAVE);
-
 	return 0;
 }