[RFTv2 0/5] ath10k: ath10k: fix flushing and tx stalls
Michal Kazior
michal.kazior at tieto.com
Wed Apr 9 06:48:46 EDT 2014
Hi,
After digging around I've found what seems to be
the problem with WMI Tx credit starvation and
inability to properly flush Tx in ath10k_flush().
Long story short: if a client that was asleep (as
per what firmware thinks) goes out of range (or
just stops responding) then Tx rots in FW/HW
queues for a few seconds before it's discarded.
For WMI Tx credits this means management frames
eat up Tx credits for a few seconds (causing other
WMI commands to timeout and return -EAGAIN/-11).
For HTT Tx this means NullFunc frames would get
stuck for a few seconds before completion was
received.
v2:
* added tx replenishment patch
* added conf_mutex locking
* change condition for flushing mgmt tx
Michal Kazior (5):
ath10k: always request htc tx replenishment
ath10k: fix wmi-htc tx credit starvation
ath10k: rework peer accounting
ath10k: wait for mgmt tx when flushing too
ath10k: improve tx flushing
drivers/net/wireless/ath/ath10k/core.h | 7 +-
drivers/net/wireless/ath/ath10k/htc.c | 15 +-
drivers/net/wireless/ath/ath10k/mac.c | 275 ++++++++++++++++++++++++++++++---
drivers/net/wireless/ath/ath10k/txrx.c | 29 ++--
drivers/net/wireless/ath/ath10k/wmi.c | 5 -
drivers/net/wireless/ath/ath10k/wmi.h | 4 +
6 files changed, 275 insertions(+), 60 deletions(-)
--
1.8.5.3
More information about the ath10k
mailing list