Skip to content

Commit

Permalink
mac80211: remove NSS number of 160MHz if not support 160MHz for HE
Browse files Browse the repository at this point in the history
When it does not support 160MHz in HE phy capabilities information,
it should not treat the NSS number of 160MHz as a valid number,
otherwise the final NSS will be set to 0.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Link: https://lore.kernel.org/r/1609816120-9411-2-git-send-email-wgong@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
  • Loading branch information
Wen Gong authored and Johannes Berg committed Jan 21, 2021
1 parent 2888192 commit 2d5e09d
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion net/mac80211/vht.c
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,7 @@ enum ieee80211_sta_rx_bandwidth ieee80211_sta_cur_vht_bw(struct sta_info *sta)
void ieee80211_sta_set_rx_nss(struct sta_info *sta)
{
u8 ht_rx_nss = 0, vht_rx_nss = 0, he_rx_nss = 0, rx_nss;
bool support_160;

/* if we received a notification already don't overwrite it */
if (sta->sta.rx_nss)
Expand Down Expand Up @@ -514,7 +515,13 @@ void ieee80211_sta_set_rx_nss(struct sta_info *sta)
}
}

he_rx_nss = min(rx_mcs_80, rx_mcs_160);
support_160 = he_cap->he_cap_elem.phy_cap_info[0] &
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;

if (support_160)
he_rx_nss = min(rx_mcs_80, rx_mcs_160);
else
he_rx_nss = rx_mcs_80;
}

if (sta->sta.ht_cap.ht_supported) {
Expand Down

0 comments on commit 2d5e09d

Please sign in to comment.