|
@@ -145,7 +145,6 @@ static u32
|
|
|
ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata,
|
|
|
struct ieee80211_supported_band *sband,
|
|
|
struct ieee80211_channel *channel,
|
|
|
- const struct ieee80211_ht_cap *ht_cap,
|
|
|
const struct ieee80211_ht_operation *ht_oper,
|
|
|
const struct ieee80211_vht_operation *vht_oper,
|
|
|
struct cfg80211_chan_def *chandef, bool tracking)
|
|
@@ -163,20 +162,13 @@ ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata,
|
|
|
chandef->center_freq1 = channel->center_freq;
|
|
|
chandef->center_freq2 = 0;
|
|
|
|
|
|
- if (!ht_cap || !ht_oper || !sta_ht_cap.ht_supported) {
|
|
|
+ if (!ht_oper || !sta_ht_cap.ht_supported) {
|
|
|
ret = IEEE80211_STA_DISABLE_HT | IEEE80211_STA_DISABLE_VHT;
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
chandef->width = NL80211_CHAN_WIDTH_20;
|
|
|
|
|
|
- if (!(ht_cap->cap_info &
|
|
|
- cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH_20_40))) {
|
|
|
- ret = IEEE80211_STA_DISABLE_40MHZ;
|
|
|
- vht_chandef = *chandef;
|
|
|
- goto out;
|
|
|
- }
|
|
|
-
|
|
|
ht_cfreq = ieee80211_channel_to_frequency(ht_oper->primary_chan,
|
|
|
channel->band);
|
|
|
/* check that channel matches the right operating channel */
|
|
@@ -344,7 +336,7 @@ static int ieee80211_config_bw(struct ieee80211_sub_if_data *sdata,
|
|
|
|
|
|
/* calculate new channel (type) based on HT/VHT operation IEs */
|
|
|
flags = ieee80211_determine_chantype(sdata, sband, chan,
|
|
|
- ht_cap, ht_oper, vht_oper,
|
|
|
+ ht_oper, vht_oper,
|
|
|
&chandef, true);
|
|
|
|
|
|
/*
|
|
@@ -4312,7 +4304,7 @@ static int ieee80211_prep_channel(struct ieee80211_sub_if_data *sdata,
|
|
|
|
|
|
ifmgd->flags |= ieee80211_determine_chantype(sdata, sband,
|
|
|
cbss->channel,
|
|
|
- ht_cap, ht_oper, vht_oper,
|
|
|
+ ht_oper, vht_oper,
|
|
|
&chandef, false);
|
|
|
|
|
|
sdata->needed_rx_chains = min(ieee80211_ht_vht_rx_chains(sdata, cbss),
|