In AP mode, HI queue is used to transmit broadcast/multicast right after issuing beacon, and we need set MORE_DATA in TX description to make hardware transmits all packets in one go. Also, have special deal with this queue when doing scan and flush. After stopping AP from SCC (AP + STA), only one STA is working, so PS mode is expected to enable. However, firmware checks the MAC port used by AP mode before, and then can't enter PS mode. We add the last patch to set "default port" to the port used by STA. Then, firmware will check correct port to enter PS mode in expectation. Po-Hao Huang (6): wifi: rtw88: use struct instead of macros to set TX desc wifi: rtw88: Fix AP mode incorrect DTIM behavior wifi: rtw88: Skip high queue in hci_flush wifi: rtw88: Stop high queue during scan wifi: rtw88: refine register based H2C command wifi: rtw88: fix not entering PS mode after AP stops drivers/net/wireless/realtek/rtw88/fw.c | 68 ++++++++++ drivers/net/wireless/realtek/rtw88/fw.h | 13 ++ drivers/net/wireless/realtek/rtw88/mac80211.c | 3 + drivers/net/wireless/realtek/rtw88/main.c | 15 ++- drivers/net/wireless/realtek/rtw88/main.h | 1 + drivers/net/wireless/realtek/rtw88/pci.c | 5 +- drivers/net/wireless/realtek/rtw88/reg.h | 2 + drivers/net/wireless/realtek/rtw88/rtw8723d.c | 5 +- drivers/net/wireless/realtek/rtw88/tx.c | 84 +++++++----- drivers/net/wireless/realtek/rtw88/tx.h | 122 +++++++----------- drivers/net/wireless/realtek/rtw88/usb.c | 15 ++- 11 files changed, 216 insertions(+), 117 deletions(-) -- 2.25.1