--- a/net/mac80211/vht.c +++ b/net/mac80211/vht.c @@ -135,7 +135,8 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru have_80mhz = false; for (i = 0; i < sband->n_channels; i++) { - if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | - IEEE80211_CHAN_NO_80MHZ)) + if ((sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | + IEEE80211_CHAN_NO_80MHZ)) && + (sband->band != NL80211_BAND_2GHZ)) continue; have_80mhz = true; --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1769,7 +1769,8 @@ static int ieee80211_build_preq_ies_band /* Check if any channel in this sband supports at least 80 MHz */ for (i = 0; i < sband->n_channels; i++) { - if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | - IEEE80211_CHAN_NO_80MHZ)) + if ((sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | + IEEE80211_CHAN_NO_80MHZ)) && + (sband->band != NL80211_BAND_2GHZ)) continue; have_80mhz = true; +--- a/net/mac80211/mlme.c ++++ b/net/mac80211/mlme.c @@ -4823,8 +4823,9 @@ /* Allow VHT if at least one channel on the sband supports 80 MHz */ have_80mhz = false; for (i = 0; i < sband->n_channels; i++) { - if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | - IEEE80211_CHAN_NO_80MHZ)) + if ((sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | + IEEE80211_CHAN_NO_80MHZ)) &&