diff --git net/mac80211/mlme.c net/mac80211/mlme.c index dc9e7eb7dd85..c8b819cb4014 100644 --- net/mac80211/mlme.c +++ net/mac80211/mlme.c @@ -1079,6 +1091,25 @@ static size_t ieee80211_assoc_link_elems(struct ieee80211_sub_if_data *sdata, &assoc_data->link[link_id].ap_vht_cap, assoc_data->link[link_id].conn_flags); + //Add operation mode notification element when operating at 20 MHz bandwidth + if(chanctx_conf->def.width == NL80211_CHAN_WIDTH_20) + { + /* Operating Mode Notification element */ + rx_nss = 0; + rx_nss_type= 0; + opmode_notif |= IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ; + rx_nss <<= IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT; + rx_nss_type <<= (IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT + 3); + opmode_notif |= rx_nss; + opmode_notif |= rx_nss_type; + + pos = skb_put(skb, 2 + sizeof(u8)); + + *pos++ = WLAN_EID_OPMODE_NOTIF; + *pos++ = sizeof(u8); + *pos++ = opmode_notif; + } + if (link) link->conf->mu_mimo_owner = mu_mimo_owner; ADD_PRESENT_ELEM(WLAN_EID_VHT_CAPABILITY);