mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
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>
This commit is contained in:
parent
037dc18ac3
commit
a505229624
@ -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,
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user