]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit
iwlwifi: mvm: fix pending frame counter calculation
authorSara Sharon <sara.sharon@intel.com>
Wed, 7 Dec 2016 13:04:37 +0000 (15:04 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 20 Jun 2017 08:46:14 +0000 (10:46 +0200)
commit2cc49d61c620e110c456661652cf04a384778a12
tree568fbaa2842fcd3ccaa51b7cde21450f7a79c6ee
parent70ae4ba30c4a6e04c495edcfc90d6b388c9ad126
iwlwifi: mvm: fix pending frame counter calculation

BugLink: http://bugs.launchpad.net/bugs/1691369
commit 94c3e614df2117626fccfac8f821c66e30556384 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
drivers/net/wireless/intel/iwlwifi/mvm/tx.c