Skip to content

Commit

Permalink
wifi: mac80211: parse A-MSDU len from EHT capabilities
Browse files Browse the repository at this point in the history
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 <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241007144851.e05da59c419a.I0b1c047639160d9a96f48ab013c18ea33f5473b0@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
  • Loading branch information
Miri Korenblit authored and Johannes Berg committed Oct 23, 2024
1 parent 88b67e9 commit cf00792
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion net/mac80211/eht.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/*
* EHT handling
*
* Copyright(c) 2021-2023 Intel Corporation
* Copyright(c) 2021-2024 Intel Corporation
*/

#include "ieee80211_i.h"
Expand Down Expand Up @@ -75,4 +75,23 @@ ieee80211_eht_cap_ie_to_sta_eht_cap(struct ieee80211_sub_if_data *sdata,

link_sta->cur_max_bandwidth = ieee80211_sta_cap_rx_bw(link_sta);
link_sta->pub->bandwidth = ieee80211_sta_cur_vht_bw(link_sta);

switch (u8_get_bits(eht_cap->eht_cap_elem.mac_cap_info[0],
IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_MASK)) {
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_11454:
link_sta->pub->agg.max_amsdu_len =
IEEE80211_MAX_MPDU_LEN_VHT_11454;
break;
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_7991:
link_sta->pub->agg.max_amsdu_len =
IEEE80211_MAX_MPDU_LEN_VHT_7991;
break;
case IEEE80211_EHT_MAC_CAP0_MAX_MPDU_LEN_3895:
default:
link_sta->pub->agg.max_amsdu_len =
IEEE80211_MAX_MPDU_LEN_VHT_3895;
break;
}

ieee80211_sta_recalc_aggregates(&link_sta->sta->sta);
}

0 comments on commit cf00792

Please sign in to comment.