All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFT 0/4] ath10k: fix flushing and tx stalls
@ 2014-04-04 11:37 ` Michal Kazior
  0 siblings, 0 replies; 90+ 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] 90+ messages in thread

end of thread, other threads:[~2015-02-04 11:28 UTC | newest]

Thread overview: 90+ 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 ` Michal Kazior
2014-04-04 11:37 ` [RFT 1/4] ath10k: fix wmi-htc tx credit starvation Michal Kazior
2014-04-04 11:37   ` Michal Kazior
2014-04-04 11:37 ` [RFT 2/4] ath10k: rework peer accounting Michal Kazior
2014-04-04 11:37   ` 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   ` Michal Kazior
2014-04-04 11:37 ` [RFT 4/4] ath10k: improve tx flushing Michal Kazior
2014-04-04 11:37   ` Michal Kazior
2014-04-08  6:58   ` Kalle Valo
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 14:49   ` Ben Greear
2014-04-04 18:31   ` Dave Taht
2014-04-04 18:31     ` Dave Taht
2014-04-07  9:06   ` Michal Kazior
2014-04-07  9:06     ` Michal Kazior
2014-04-07  0:30 ` Ben Greear
2014-04-07  0:30   ` Ben Greear
2014-04-07  1:05   ` Ben Greear
2014-04-07  1:05     ` Ben Greear
2014-04-07  9:11   ` Michal Kazior
2014-04-07  9:11     ` Michal Kazior
2014-04-08  2:31     ` Ben Greear
2014-04-08  2:31       ` Ben Greear
2014-04-08  5:51       ` Michal Kazior
2014-04-08  5:51         ` Michal Kazior
2014-04-08 16:02         ` Ben Greear
2014-04-08 16:02           ` Ben Greear
2014-04-09  6:25           ` Michal Kazior
2014-04-09  6:25             ` Michal Kazior
2014-04-09 17:34             ` Ben Greear
2014-04-09 17:34               ` Ben Greear
2014-04-09 19:29               ` Ben Greear
2014-04-09 19:29                 ` Ben Greear
2014-04-10  3:45               ` Kalle Valo
2014-04-10  3:45                 ` Kalle Valo
2014-04-09 10:48 ` [RFTv2 0/5] ath10k: " Michal Kazior
2014-04-09 10:48   ` Michal Kazior
2014-04-09 10:48   ` [RFTv2 1/5] ath10k: always request htc tx replenishment Michal Kazior
2014-04-09 10:48     ` Michal Kazior
2014-04-09 10:48   ` [RFTv2 2/5] ath10k: fix wmi-htc tx credit starvation Michal Kazior
2014-04-09 10:48     ` Michal Kazior
2015-01-29  1:32     ` YanBo
2015-01-29  1:32       ` YanBo
2015-01-29  7:57       ` Michal Kazior
2015-01-29  7:57         ` Michal Kazior
2015-01-29 16:50         ` Ben Greear
2015-01-29 16:50           ` Ben Greear
2015-02-04 10:57         ` Matti Laakso
     [not found]         ` <54D1FA8F.6030804@elisanet.fi>
2015-02-04 11:27           ` Michal Kazior
2014-04-09 10:48   ` [RFTv2 3/5] ath10k: rework peer accounting Michal Kazior
2014-04-09 10:48     ` Michal Kazior
2014-04-10  6:50     ` Kalle Valo
2014-04-10  6:50       ` Kalle Valo
2014-04-10  6:56       ` Michal Kazior
2014-04-10  6:56         ` Michal Kazior
2014-04-10  6:59     ` Kalle Valo
2014-04-10  6:59       ` Kalle Valo
2014-04-10  7:11       ` Michal Kazior
2014-04-10  7:11         ` Michal Kazior
2014-04-10  7:18         ` Kalle Valo
2014-04-10  7:18           ` Kalle Valo
2014-04-10  7:43           ` Michal Kazior
2014-04-10  7:43             ` Michal Kazior
2014-04-11  6:22             ` Kalle Valo
2014-04-11  6:22               ` Kalle Valo
2014-04-11  6:31         ` Kalle Valo
2014-04-11  6:31           ` Kalle Valo
2014-04-11  4:59     ` Ben Greear
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     ` Michal Kazior
2014-05-13 20:09     ` Ben Greear
2014-05-15  7:24       ` Michal Kazior
2014-05-15 10:26         ` Kalle Valo
2014-05-15 13:05         ` Ben Greear
2014-04-09 10:48   ` [RFTv2 5/5] ath10k: improve tx flushing Michal Kazior
2014-04-09 10:48     ` Michal Kazior
2014-04-09 21:46   ` [RFTv2 0/5] ath10k: ath10k: fix flushing and tx stalls Ben Greear
2014-04-09 21:46     ` Ben Greear
2014-04-09 23:58     ` Ben Greear
2014-04-09 23:58       ` Ben Greear
2014-04-10  5:10       ` Michal Kazior
2014-04-10  5:10         ` Michal Kazior
2014-04-10  5:26         ` Ben Greear
2014-04-10  5:26           ` Ben Greear
2014-04-10  8:50           ` Michal Kazior
2014-04-10  8:50             ` Michal Kazior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.