On 7/25/2023 8:43 PM, Wen Gong wrote:
On 7/26/2023 6:40 AM, Aloka Dixit wrote:
[...]
+
+static void ath12k_peer_assoc_h_eht(struct ath12k *ar,
+ struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta,
+ struct ath12k_wmi_peer_assoc_arg *arg)
+{
+ const struct ieee80211_sta_eht_cap *eht_cap = &sta->deflink.eht_cap;
+ const struct ieee80211_sta_he_cap *he_cap = &sta->deflink.he_cap;
[...]
+ default:
+ if ((he_cap->he_cap_elem.phy_cap_info[0] &
+ (IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
+
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
+ IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G |
+
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G)) == 0) {
+ const struct ieee80211_eht_mcs_nss_supp_20mhz_only *bw_20 =
+ &eht_cap->eht_mcs_nss_supp.only_20mhz;
+
This is the IEs of my AP below, then it will still entered into this
branch for my ath12k station mode.
sta->deflink.eht_cap and sta->deflink.he_cap is copied from peer remote,
for ath12k station mode, peer
remote is the AP. The field only_20mhz is only valid when the IEs is
from a station which only support
20 MHz.
I think the flag from_ap should be added here as well as function
ieee80211_eht_mcs_nss_size().
Please correct me if wrong.
Okay, can you fix this in a follow-up patch?
I don't have a device to test the station mode to verify a fix.
Thanks.