Skip to content

Commit a505229

Browse files
donnaskiezjmberg-intel
authored andcommitted
wifi: mac80211: add support for S1G aggregation
Allow an S1G station to use aggregation. Signed-off-by: Sophronia Koilpillai <sophronia.koilpillai@morsemicro.com> Signed-off-by: Lachlan Hodges <lachlan.hodges@morsemicro.com> Link: https://patch.msgid.link/20250617080610.756048-5-lachlan.hodges@morsemicro.com Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1 parent 037dc18 commit a505229

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

net/mac80211/agg-rx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,8 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
299299

300300
if (!sta->sta.valid_links &&
301301
!sta->sta.deflink.ht_cap.ht_supported &&
302-
!sta->sta.deflink.he_cap.has_he) {
302+
!sta->sta.deflink.he_cap.has_he &&
303+
!sta->sta.deflink.s1g_cap.s1g) {
303304
ht_dbg(sta->sdata,
304305
"STA %pM erroneously requests BA session on tid %d w/o HT\n",
305306
sta->sta.addr, tid);
@@ -327,7 +328,8 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
327328
/* XXX: check own ht delayed BA capability?? */
328329
if (((ba_policy != 1) &&
329330
(sta->sta.valid_links ||
330-
!(sta->sta.deflink.ht_cap.cap & IEEE80211_HT_CAP_DELAY_BA))) ||
331+
!(sta->sta.deflink.ht_cap.cap & IEEE80211_HT_CAP_DELAY_BA) ||
332+
!(sta->sta.deflink.s1g_cap.cap[3] & S1G_CAP3_HT_DELAYED_BA))) ||
331333
(buf_size > max_buf_size)) {
332334
status = WLAN_STATUS_INVALID_QOS_PARAM;
333335
ht_dbg_ratelimited(sta->sdata,

net/mac80211/agg-tx.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
616616
!pubsta->deflink.ht_cap.ht_supported &&
617617
!pubsta->deflink.vht_cap.vht_supported &&
618618
!pubsta->deflink.he_cap.has_he &&
619-
!pubsta->deflink.eht_cap.has_eht)
619+
!pubsta->deflink.eht_cap.has_eht &&
620+
!pubsta->deflink.s1g_cap.s1g)
620621
return -EINVAL;
621622

622623
if (WARN_ON_ONCE(!local->ops->ampdu_action))

net/mac80211/tx.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1173,7 +1173,8 @@ void ieee80211_aggr_check(struct ieee80211_sub_if_data *sdata,
11731173
return;
11741174

11751175
if (!sta ||
1176-
(!sta->sta.valid_links && !sta->sta.deflink.ht_cap.ht_supported) ||
1176+
(!sta->sta.valid_links && !sta->sta.deflink.ht_cap.ht_supported &&
1177+
!sta->sta.deflink.s1g_cap.s1g) ||
11771178
!sta->sta.wme || skb_get_queue_mapping(skb) == IEEE80211_AC_VO ||
11781179
skb->protocol == sdata->control_port_protocol)
11791180
return;

0 commit comments

Comments
 (0)