Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60dec523 authored by Sara Sharon's avatar Sara Sharon Committed by Luca Coelho
Browse files

iwlwifi: mvm: free RX reorder buffer on restart



Restart flow zeroes the rx_ba_sessions counter. Mac80211 asks
driver to tear down of the session only afterwards, and as a
result driver didn't free the data. Fix it.

Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
Fixes: 10b2b201 ("iwlwifi: mvm: add infrastructure for tracking BA session in driver")
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 35263a03
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1828,9 +1828,10 @@ int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
			     mvm_sta->sta_id, tid, baid);
		WARN_ON(rcu_access_pointer(mvm->baid_map[baid]));
		rcu_assign_pointer(mvm->baid_map[baid], baid_data);
	} else if (mvm->rx_ba_sessions > 0) {
	} else  {
		u8 baid = mvm_sta->tid_to_baid[tid];

		if (mvm->rx_ba_sessions > 0)
			/* check that restart flow didn't zero the counter */
			mvm->rx_ba_sessions--;
		if (!iwl_mvm_has_new_rx_api(mvm))