Skip to content

Commit cf00792

Browse files
Miriam-Racheljmberg-intel
authored andcommitted
wifi: mac80211: parse A-MSDU len from EHT capabilities
On 2.4 GHz there's no VHT, so EHT defines its own bits for the maximum MPDU length. Parse and store them in the link_sta. Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20241007144851.e05da59c419a.I0b1c047639160d9a96f48ab013c18ea33f5473b0@changeid Signed-off-by: Johannes Berg <[email protected]>
1 parent 88b67e9 commit cf00792

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

net/mac80211/eht.c

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/*
33
* EHT handling
44
*
5-
* Copyright(c) 2021-2023 Intel Corporation
5+
* Copyright(c) 2021-2024 Intel Corporation
66
*/
77

88
#include "ieee80211_i.h"
@@ -75,4 +75,23 @@ ieee80211_eht_cap_ie_to_sta_eht_cap(struct ieee80211_sub_if_data *sdata,
7575

7676
link_sta->cur_max_bandwidth = ieee80211_sta_cap_rx_bw(link_sta);
7777
link_sta->pub->bandwidth = ieee80211_sta_cur_vht_bw(link_sta);
78+
79+
switch (u8_get_bits(eht_cap->eht_cap_elem.mac_cap_info[0],
80+
IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_MASK)) {
81+
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_11454:
82+
link_sta->pub->agg.max_amsdu_len =
83+
IEEE80211_MAX_MPDU_LEN_VHT_11454;
84+
break;
85+
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_7991:
86+
link_sta->pub->agg.max_amsdu_len =
87+
IEEE80211_MAX_MPDU_LEN_VHT_7991;
88+
break;
89+
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_3895:
90+
default:
91+
link_sta->pub->agg.max_amsdu_len =
92+
IEEE80211_MAX_MPDU_LEN_VHT_3895;
93+
break;
94+
}
95+
96+
ieee80211_sta_recalc_aggregates(&link_sta->sta->sta);
7897
}

0 commit comments

Comments
 (0)