iwlwifi: mvm: start mac queues when deferred tx frames are purged
authorAvraham Stern <avraham.stern@intel.com>
Wed, 26 Jul 2017 12:08:45 +0000 (15:08 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Aug 2017 05:25:24 +0000 (08:25 +0300)
commit7e39a00d593133ca8fcd3eef0409685e7c895ee6
tree50802a658f78dacc699aad2afb42dbb1ad678f10
parentaae9d563230f974f2daa7135f911f021b2bba9e6
iwlwifi: mvm: start mac queues when deferred tx frames are purged

In AP mode, if a station is removed just as it is adding a new stream,
the queue in question will remain stopped and no more TX will happen
in this queue, leading to connection failures and other problems.

This is because under DQA, when tx is deferred because a queue needs
to be allocated, the mac queue for that TID is stopped until the new
stream is added.  If at this point the station that this stream
belongs to is removed, all the deferred tx frames are purged, but the
mac queue is not restarted. As a result, all following tx on this
queue will not be transmitted.

Fix this by starting the relevant mac queues when the deferred tx
frames are purged.

Fixes: 24afba7690e4 ("iwlwifi: mvm: support bss dynamic alloc/dealloc of queues")
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c