linux/drivers/net/wireless/iwlwifi
Emmanuel Grumbach e3d4bc8cc0 iwlwifi: mvm: fix aggregation drain flow
Move the counter for non-AMPDU frames to mvm. It is needed
for the drain flow which happens once the ieee80211_sta has
been freed, so keeping it in iwl_mvm_sta which is embed into
ieee80211_sta is not a good idea.

Also, since its purpose it to remove the STA in the fw only
after all the frames for this station have exited the shared
Tx queues, we need to decrement it in the reclaim flow. This
flow can happen after ieee80211_sta has been removed, which
means that we have no iwl_mvm_sta there. So we can't know
what is the vif type. Hence, we know audit these frames for
all the vif types.
In order to avoid spawning sta_drained_wk all the time, we
now check that we are in a flow in which draining might
happen - only when mvmsta is NULL. This is better than
previous code that would spawn sta_drained_wk all the time
in AP mode.

Cc: stable@vger.kernel.org [3.9]
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-05-16 22:39:07 +02:00
..
dvm Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next 2013-04-26 08:37:39 -04:00
mvm iwlwifi: mvm: fix aggregation drain flow 2013-05-16 22:39:07 +02:00
pcie Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-04-29 15:31:57 -04:00
iwl-1000.c iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-2000.c iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-5000.c iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-6000.c iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-7000.c iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-agn-hw.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-config.h iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00
iwl-csr.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-debug.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-debug.h iwlwifi: add the MVM driver 2013-02-01 11:27:15 +01:00
iwl-devtrace.c iwlwifi: update copyright 2013-01-24 13:00:55 +01:00
iwl-devtrace.h iwlwifi: use __get_str in tracing 2013-03-06 16:47:27 +01:00
iwl-drv.c iwlwifi: print warning on request_module failure 2013-04-08 13:30:45 +02:00
iwl-drv.h iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-eeprom-parse.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-eeprom-parse.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-eeprom-read.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-eeprom-read.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-fh.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-fw-file.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-fw.h iwlwifi: mvm: take the valid_{rx,tx}_ant from the TLV 2013-03-20 14:17:12 +01:00
iwl-io.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-io.h iwlwifi: add iwl_set_bits_mask to transport API 2013-02-01 11:27:22 +01:00
iwl-modparams.h iwlwifi: remove 5ghz_disable option 2013-03-20 14:17:09 +01:00
iwl-notif-wait.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-notif-wait.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-nvm-parse.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-nvm-parse.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-op-mode.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-phy-db.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-phy-db.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-prph.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-test.c iwlwifi: use kmemdup instead of kmalloc+memcpy 2013-03-20 14:17:07 +01:00
iwl-test.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-testmode.h iwlwifi: a few fixes in license 2013-03-06 16:46:59 +01:00
iwl-trans.h iwlwifi: mvm: clean up invalid station handling 2013-04-03 22:49:54 +02:00
Kconfig iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
Makefile iwlwifi: make device configuration bus agnostic 2013-03-06 16:47:54 +01:00