Skip to content

Commit 20fc690

Browse files
ngoldstelucacoelho
authored andcommitted
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 <[email protected]> Signed-off-by: Luca Coelho <[email protected]>
1 parent 04c2cf3 commit 20fc690

File tree

1 file changed

+2
-2
lines changed
  • drivers/net/wireless/intel/iwlwifi/mvm

1 file changed

+2
-2
lines changed

drivers/net/wireless/intel/iwlwifi/mvm/sta.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@ static void iwl_mvm_rx_agg_session_expired(unsigned long data)
291291
goto unlock;
292292

293293
mvm_sta = iwl_mvm_sta_from_mac80211(sta);
294-
ieee80211_stop_rx_ba_session_offl(mvm_sta->vif,
295-
sta->addr, ba_data->tid);
294+
ieee80211_rx_ba_timer_expired(mvm_sta->vif,
295+
sta->addr, ba_data->tid);
296296
unlock:
297297
rcu_read_unlock();
298298
}

0 commit comments

Comments
 (0)