wifi: ath11k: stop tx queues immediately upon firmware exit
authorAditya Kumar Singh <quic_adisi@quicinc.com>
Tue, 27 Sep 2022 06:18:54 +0000 (09:18 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 28 Sep 2022 07:44:52 +0000 (10:44 +0300)
commit81e60b2dfb2744ab6642c4aa62534b4f711fdc5d
tree30befd0ebe3f567df513296f6c0b6edba55f79b9
parent6cf5e9066dd3332cf4c77ea95a116f70e7f9acf7
wifi: ath11k: stop tx queues immediately upon firmware exit

Currently, recovery flag is set immediately upon firmware
exit but tx queues are stopped once firmware arrives back
and is ready which is during ath11k_core_restart. Once
ieee80211 hw restart is completed, tx queues are resumed.
If during the time delta between firmware exit and firmware
ready, mac80211 send packets, currently ath11k will drop it
since recovery flag will be set. But warning prints will
come -
  "ath11k c000000.wifi: failed to transmit frame -108"

If more tx packets are there, this could lead to flooding
of above print.

However, actually tx queues should be stopped immediately
when firmware leaves. This will prevent packets to get
dropped when firmware is recovering.

Add fix to stop tx queues immediately after firmware exit.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/qmi.c