diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2015-03-20 15:36:04 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-03-20 16:50:21 +0100 |
commit | 40f2844fadc05f4a4de7699dbc12fee295b7057b (patch) | |
tree | bf9192c780b59320ade91a09b5d0daa4735e28c7 /iwinfo_nl80211.c | |
parent | c9fd399316003040825dfbd9700488b621bd990e (diff) | |
download | iwinfo-40f2844fadc05f4a4de7699dbc12fee295b7057b.tar.gz |
iwinfo: don't report AC capabilities on 2GHz-only interfaces
If a 802.11ac capable chip is in 2GHz-only mode, the hwmode
reported should be 802.11bgn.
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Diffstat (limited to 'iwinfo_nl80211.c')
-rw-r--r-- | iwinfo_nl80211.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/iwinfo_nl80211.c b/iwinfo_nl80211.c index be58c56..e090052 100644 --- a/iwinfo_nl80211.c +++ b/iwinfo_nl80211.c @@ -2383,13 +2383,6 @@ static int nl80211_get_hwmodelist_cb(struct nl_msg *msg, void *arg) if (caps > 0) *modes |= IWINFO_80211_N; - if (bands[NL80211_BAND_ATTR_VHT_CAPA]) - vht_caps = nla_get_u32(bands[NL80211_BAND_ATTR_VHT_CAPA]); - - /* Treat any nonzero capability as 11ac */ - if (vht_caps > 0) - *modes |= IWINFO_80211_AC; - nla_for_each_nested(freq, bands[NL80211_BAND_ATTR_FREQS], freqs_remain) { @@ -2404,6 +2397,14 @@ static int nl80211_get_hwmodelist_cb(struct nl_msg *msg, void *arg) *modes |= IWINFO_80211_B; *modes |= IWINFO_80211_G; } + else if (bands[NL80211_BAND_ATTR_VHT_CAPA]) + { + vht_caps = nla_get_u32(bands[NL80211_BAND_ATTR_VHT_CAPA]); + + /* Treat any nonzero capability as 11ac */ + if (vht_caps > 0) + *modes |= IWINFO_80211_AC; + } else if (!(*modes & IWINFO_80211_AC)) { *modes |= IWINFO_80211_A; |