wifi: rtw89: tweak H2C TX waiting function for SER
authorZong-Zhe Yang <kevin_yang@realtek.com>
Tue, 16 May 2023 08:24:40 +0000 (16:24 +0800)
committerKalle Valo <kvalo@kernel.org>
Thu, 25 May 2023 16:10:58 +0000 (19:10 +0300)
commitb79a84fbbdb0a715b130ab470c241db211539dfb
treec0fdff53871632b7315ecdf77f1ffefe27681ecb
parentcda66049bab5273c61f09a4ea8c09d1de4d64fc0
wifi: rtw89: tweak H2C TX waiting function for SER

Some specific H2C (host to chip command) needs waiting until FW ACK by
C2H (chip to host event). However, during SER (system error recovery),
most interrupts are disabled, so we can't receive C2H immediately. It
causes this kind of H2C TX waits will always time out during SER.

To save time spent by SER, we don't do these redundant waits. And, to
make a difference from -ETIMEDOUT in other cases, we make the function
return 1 for SER case. When some H2C callers really catch `ret == 1` at
runtime, they can determine whether it's reasonable or not, and consider
how to resolve their flow if needed.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230516082441.11154-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/fw.c
drivers/net/wireless/realtek/rtw89/ser.c