mirror_ubuntu-kernels/drivers/net/wireless/intel/iwlwifi/mvm
Oren Givon 2c4a247e42 iwlwifi: mvm: fix txq aggregation bug
Fix an issue where nullfunc frames and block ack requests
had the same tid as aggregation frames and were queued on
a non aggregation queue. The pending frames counter included
those frames but the check whether to decrement the pending
frames counter relied on the tid status and not on the txq id.
The result was an inconsistent state of the pending frames
counter followed by a failure to remove the station.
This failure triggered SYSASSERT 0x3421.

In addition, fix a situation in DQA mode where the number
of pending frames turned negative. This was due to the TX queue
being on the IWL_EMPTYING_HW_QUEUE_DELBA state and its frames
were still decremented.

Even though the SYSASSERT issue is fixed when DQA is disabled,
the issue is not completely solved when DQA is enabled and
should still be fixed.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Fixes: cf961e1662 ("iwlwifi: mvm: support dqa-mode agg on non-shared queue")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2016-07-06 01:24:44 +03:00
..
binding.c
coex.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
constants.h iwlwifi: mvm: add a flag to disable checksum 2016-05-10 22:14:46 +03:00
d3.c iwlwifi: mvm: use helpers to get iwl_mvm_sta 2016-05-10 22:34:04 +03:00
debugfs-vif.c iwlwifi: mvm: use helpers to get iwl_mvm_sta 2016-05-10 22:34:04 +03:00
debugfs.c iwlwifi: mvm: silence uninitialized variable warning 2016-07-06 00:37:21 +03:00
debugfs.h
fw-api-coex.h
fw-api-d3.h iwlwifi: mvm: add firmware API name comment 2016-05-10 22:14:41 +03:00
fw-api-mac.h
fw-api-power.h
fw-api-rs.h
fw-api-rx.h iwlwifi: mvm: fix RX mpdu status enum 2016-07-06 01:18:43 +03:00
fw-api-scan.h iwlwifi: mvm: add extended dwell time 2015-12-20 23:27:40 +02:00
fw-api-sta.h iwlwifi: mvm: support queue removal in ADD_STA hcmd 2016-05-10 22:14:44 +03:00
fw-api-stats.h
fw-api-tof.h
fw-api-tx.h iwlwifi: mvm: Support CSA countdown offloading 2016-07-01 18:09:45 +03:00
fw-api.h iwlwifi: mvm: support dqa-enable hcmd 2016-07-06 00:49:21 +03:00
fw-dbg.c iwlwifi: don't access a nonexistent register upon assert 2016-05-10 22:34:05 +03:00
fw-dbg.h iwlwifi: mvm: constify the parameters of a few functions in fw-dbg.c 2016-01-07 19:01:32 +02:00
fw.c iwlwifi: mvm: support dqa-enable hcmd 2016-07-06 00:49:21 +03:00
led.c
mac80211.c iwlwifi: mvm: change scan timeout to a delayed work 2016-07-06 00:33:07 +03:00
mac-ctxt.c iwlwifi: mvm: Support CSA countdown offloading 2016-07-01 18:09:45 +03:00
Makefile iwlwifi: remove support for fw older than -16.ucode 2016-03-30 16:21:27 +03:00
mvm.h iwlwifi: mvm: support dqa queue sharing 2016-07-06 00:47:41 +03:00
nvm.c iwlwifi: mvm: avoid harmless -Wmaybe-uninialized warning 2016-07-06 01:19:54 +03:00
offloading.c
ops.c iwlwifi: mvm: update aux queue in dqa mode 2016-07-06 00:48:55 +03:00
phy-ctxt.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
power.c iwlwifi: rename CAPA_P2P_STANDALONE_UAPSD to CAPA_P2P_SCM_UAPSD 2016-07-01 18:09:23 +03:00
quota.c iwlwifi: mvm: support setting minimum quota from debugfs 2016-02-01 16:40:23 +02:00
rs.c iwlwifi: mvm: rs: add rate scaling support for 160MHz channels 2016-07-06 01:19:22 +03:00
rs.h iwlwifi: mvm: rs: add rate scaling support for 160MHz channels 2016-07-06 01:19:22 +03:00
rx.c iwlwifi: mvm: remove an unused variable 2016-07-06 00:35:11 +03:00
rxmq.c iwlwifi: mvm: Support CSA countdown offloading 2016-07-01 18:09:45 +03:00
scan.c iwlwifi: mvm: change scan timeout to a delayed work 2016-07-06 00:33:07 +03:00
sf.c iwlwifi: remove support for fw older than -16.ucode 2016-03-30 16:21:27 +03:00
sta.c iwlwifi: mvm: update aux queue in dqa mode 2016-07-06 00:48:55 +03:00
sta.h iwlwifi: mvm: support dqa queue inactivation upon timeout 2016-07-06 00:14:27 +03:00
tdls.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
testmode.h
time-event.c iwlwifi: mvm: ROC: cleanup time event info on FW failure 2016-03-09 20:59:18 +02:00
time-event.h iwlwifi: mvm: extend time event duration 2016-03-07 13:34:16 +02:00
tof.c
tof.h
tt.c iwlwifi: mvm: use helpers to get iwl_mvm_sta 2016-05-10 22:34:04 +03:00
tx.c iwlwifi: mvm: fix txq aggregation bug 2016-07-06 01:24:44 +03:00
utils.c iwlwifi: mvm: set sta_id in SCD_QUEUE_CONFIG cmd 2016-07-06 00:48:26 +03:00