# Editor crap (emacs, vim, ...)
*.swp
*.orig
\#*\#
.\#*
.*.sw[a-z]
*.un~
# Hidden files, general things
.*
*~
# Compiled object files
*.slo
*.lo
*.o
# Compiled dynamic libraries
*.so
# Compiled static libraries
*.lai
*.la
*.a
# Compiled executables
astraceroute/astraceroute
bpfc/bpfc
curvetun/curvetun
curvetun/abiname
flowtop/flowtop
ifpps/ifpps
mausezahn/mausezahn
netsniff-ng/netsniff-ng
trafgen/trafgen
# cscope/ctags index files
cscope*
tags
# Testing folders
fuzzing/
# Ignore if someone adapts Makefile
Makefile
# Ignore build config generated by configure
Config
config.h
config.log
# Other documentation ignores
*.md
*.ps
# Compressed archives
*.tar.bz2
*.tar.bz
*.tar.xz
# Release related stuff
.MAIL_MSG
# Excluded from ignorance
!.gitignore
!.travis.yml
index : net-next.git
iwlwifi: mvm: fix pending frame counter calculation
In DQA mode the check whether to decrement the pending frames
counter relies on the tid status and not on the txq id.
This may result in an inconsistent state of the pending frames
counter in case frame is queued on a non aggregation queue but
with this TID, and will be followed by a failure to remove the
station and later on SYSASSERT 0x3421 when trying to remove the
MAC.
Such frames are for example bar and qos NDPs.
Fix it by aligning the condition of incrementing the counter
with the condition of decrementing it - rely on TID state for
DQA mode.
Also, avoid internal error like this affecting station removal
for DQA mode - since we can know for sure it is an internal
error.
Fixes: cf961e16620f ("iwlwifi: mvm: support dqa-mode agg on non-shared queue")
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2 files changed, 25 insertions, 13 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c |