Commit a5052296 authored by Lachlan Hodges's avatar Lachlan Hodges Committed by Johannes Berg
Browse files

wifi: mac80211: add support for S1G aggregation

parent 037dc18a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -299,7 +299,8 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,

	if (!sta->sta.valid_links &&
	    !sta->sta.deflink.ht_cap.ht_supported &&
	    !sta->sta.deflink.he_cap.has_he) {
	    !sta->sta.deflink.he_cap.has_he &&
	    !sta->sta.deflink.s1g_cap.s1g) {
		ht_dbg(sta->sdata,
		       "STA %pM erroneously requests BA session on tid %d w/o HT\n",
		       sta->sta.addr, tid);
@@ -327,7 +328,8 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
	/* XXX: check own ht delayed BA capability?? */
	if (((ba_policy != 1) &&
	     (sta->sta.valid_links ||
	      !(sta->sta.deflink.ht_cap.cap & IEEE80211_HT_CAP_DELAY_BA))) ||
	      !(sta->sta.deflink.ht_cap.cap & IEEE80211_HT_CAP_DELAY_BA) ||
	      !(sta->sta.deflink.s1g_cap.cap[3] & S1G_CAP3_HT_DELAYED_BA))) ||
	    (buf_size > max_buf_size)) {
		status = WLAN_STATUS_INVALID_QOS_PARAM;
		ht_dbg_ratelimited(sta->sdata,
+2 −1
Original line number Diff line number Diff line
@@ -616,7 +616,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
	    !pubsta->deflink.ht_cap.ht_supported &&
	    !pubsta->deflink.vht_cap.vht_supported &&
	    !pubsta->deflink.he_cap.has_he &&
	    !pubsta->deflink.eht_cap.has_eht)
	    !pubsta->deflink.eht_cap.has_eht &&
	    !pubsta->deflink.s1g_cap.s1g)
		return -EINVAL;

	if (WARN_ON_ONCE(!local->ops->ampdu_action))
+2 −1
Original line number Diff line number Diff line
@@ -1173,7 +1173,8 @@ void ieee80211_aggr_check(struct ieee80211_sub_if_data *sdata,
		return;

	if (!sta ||
	    (!sta->sta.valid_links && !sta->sta.deflink.ht_cap.ht_supported) ||
	    (!sta->sta.valid_links && !sta->sta.deflink.ht_cap.ht_supported &&
	     !sta->sta.deflink.s1g_cap.s1g) ||
	    !sta->sta.wme || skb_get_queue_mapping(skb) == IEEE80211_AC_VO ||
	    skb->protocol == sdata->control_port_protocol)
		return;