linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFT 0/4] ath10k: fix flushing and tx stalls
@ 2014-04-04 11:37 Michal Kazior
  2014-04-04 11:37 ` [RFT 1/4] ath10k: fix wmi-htc tx credit starvation Michal Kazior
                   ` (6 more replies)
  0 siblings, 7 replies; 42+ messages in thread
From: Michal Kazior @ 2014-04-04 11:37 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, greearb, Michal Kazior

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.

@Ben: Can you check if this helps you? I tested
this briefly and at least [1/4] seems fixes the
WMI Tx starvation. I'm hoping patches 2-4 help
with your ath10k_flush() failures which I haven't
been successfull in reproducing (but have observed
improvement with purging some frames out of FW/HW
queues).


Michal Kazior (4):
  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/mac.c  | 254 +++++++++++++++++++++++++++++----
 drivers/net/wireless/ath/ath10k/txrx.c |  29 ++--
 drivers/net/wireless/ath/ath10k/wmi.c  |   5 -
 drivers/net/wireless/ath/ath10k/wmi.h  |   4 +
 5 files changed, 253 insertions(+), 46 deletions(-)

-- 
1.8.5.3


^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2015-01-29 16:50 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-04 11:37 [RFT 0/4] ath10k: fix flushing and tx stalls Michal Kazior
2014-04-04 11:37 ` [RFT 1/4] ath10k: fix wmi-htc tx credit starvation Michal Kazior
2014-04-04 11:37 ` [RFT 2/4] ath10k: rework peer accounting Michal Kazior
2014-04-04 11:37 ` [RFT 3/4] ath10k: wait for mgmt tx when flushing too Michal Kazior
2014-04-04 11:37 ` [RFT 4/4] ath10k: improve tx flushing Michal Kazior
2014-04-08  6:58   ` Kalle Valo
2014-04-04 14:49 ` [RFT 0/4] ath10k: fix flushing and tx stalls Ben Greear
2014-04-04 18:31   ` Dave Taht
2014-04-07  9:06   ` Michal Kazior
2014-04-07  0:30 ` Ben Greear
2014-04-07  1:05   ` Ben Greear
2014-04-07  9:11   ` Michal Kazior
2014-04-08  2:31     ` Ben Greear
2014-04-08  5:51       ` Michal Kazior
2014-04-08 16:02         ` Ben Greear
2014-04-09  6:25           ` Michal Kazior
2014-04-09 17:34             ` Ben Greear
2014-04-09 19:29               ` Ben Greear
2014-04-10  3:45               ` Kalle Valo
2014-04-09 10:48 ` [RFTv2 0/5] ath10k: " Michal Kazior
2014-04-09 10:48   ` [RFTv2 1/5] ath10k: always request htc tx replenishment Michal Kazior
2014-04-09 10:48   ` [RFTv2 2/5] ath10k: fix wmi-htc tx credit starvation Michal Kazior
2015-01-29  1:32     ` YanBo
2015-01-29  7:57       ` Michal Kazior
2015-01-29 16:50         ` Ben Greear
2014-04-09 10:48   ` [RFTv2 3/5] ath10k: rework peer accounting Michal Kazior
2014-04-10  6:50     ` Kalle Valo
2014-04-10  6:56       ` Michal Kazior
2014-04-10  6:59     ` Kalle Valo
2014-04-10  7:11       ` Michal Kazior
2014-04-10  7:18         ` Kalle Valo
2014-04-10  7:43           ` Michal Kazior
2014-04-11  6:22             ` Kalle Valo
2014-04-11  6:31         ` Kalle Valo
2014-04-11  4:59     ` Ben Greear
2014-04-09 10:48   ` [RFTv2 4/5] ath10k: wait for mgmt tx when flushing too Michal Kazior
2014-04-09 10:48   ` [RFTv2 5/5] ath10k: improve tx flushing Michal Kazior
2014-04-09 21:46   ` [RFTv2 0/5] ath10k: ath10k: fix flushing and tx stalls Ben Greear
2014-04-09 23:58     ` Ben Greear
2014-04-10  5:10       ` Michal Kazior
2014-04-10  5:26         ` Ben Greear
2014-04-10  8:50           ` Michal Kazior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).