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

Commit d92684e6 authored by Ron Rindjunsky's avatar Ron Rindjunsky Committed by John W. Linville
Browse files

mac80211: A-MPDU Tx add delBA from recipient support



This patch adds the ability to handle delBA from recipient to initiator
during an A-MPDU session

Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 483fdcec
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -1403,14 +1403,23 @@ static void ieee80211_sta_process_delba(struct net_device *dev,

#ifdef CONFIG_MAC80211_HT_DEBUG
	if (net_ratelimit())
		printk(KERN_DEBUG "delba from %s on tid %d reason code %d\n",
			print_mac(mac, mgmt->sa), tid,
		printk(KERN_DEBUG "delba from %s (%s) tid %d reason code %d\n",
			print_mac(mac, mgmt->sa),
			initiator ? "recipient" : "initiator", tid,
			mgmt->u.action.u.delba.reason_code);
#endif /* CONFIG_MAC80211_HT_DEBUG */

	if (initiator == WLAN_BACK_INITIATOR)
		ieee80211_sta_stop_rx_ba_session(dev, sta->addr, tid,
						 WLAN_BACK_INITIATOR, 0);
	else { /* WLAN_BACK_RECIPIENT */
		spin_lock_bh(&sta->ampdu_mlme.ampdu_tx);
		sta->ampdu_mlme.tid_tx[tid].state =
				HT_AGG_STATE_OPERATIONAL;
		spin_unlock_bh(&sta->ampdu_mlme.ampdu_tx);
		ieee80211_stop_tx_ba_session(&local->hw, sta->addr, tid,
					     WLAN_BACK_RECIPIENT);
	}
	sta_info_put(sta);
}