iwlwifi: mvm: send delba upon rx ba session timeout
authorNaftali Goldstein <naftali.goldstein@intel.com>
Tue, 11 Jul 2017 07:07:32 +0000 (10:07 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Aug 2017 07:05:01 +0000 (10:05 +0300)
commit20fc690f38d17b8f961101a477a9aa0841fb6e20
treeb4b1d2f3b94ebdaef58ac1eb9db1d5b530d8f72a
parent04c2cf34362f133be09878bd752f8b014318b59a
iwlwifi: mvm: send delba upon rx ba session timeout

When an RX block-ack session times out, the firmware, which offloads
RX reordering but not the BA session negotiation, stops the session
but doesn't send a DELBA.  This causes the the session to remain
active in the remote device, so no more BA sessions will be
established, causing a severe throughput degradation due to the lack
of aggregation.

Use the new ieee80211_rx_ba_timer_expired API when the ba session timer
expires, since this will tear down the ba session and also send a delba.

The previous API used is intended for drivers that offload the
addba/delba negotiation, but not the rx reordering, while our driver
does the opposite.

This patch depends on "mac80211: add api to start ba session timer
expired flow".

Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/sta.c