X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=contrib%2Fpackage%2Fiwinfo%2Fsrc%2Fiwinfo_nl80211.c;h=6b980235ec187717ba84196c666c3bebbfe67294;hp=ff30e0e94f491d73488fd6ed74723c61a20b55d4;hb=66736c857476550c68720a4cf933ab2f6d04031d;hpb=f01178a19a94abfd98442cec532fcd43e91009b0 diff --git a/contrib/package/iwinfo/src/iwinfo_nl80211.c b/contrib/package/iwinfo/src/iwinfo_nl80211.c index ff30e0e94..6b980235e 100644 --- a/contrib/package/iwinfo/src/iwinfo_nl80211.c +++ b/contrib/package/iwinfo/src/iwinfo_nl80211.c @@ -1319,9 +1319,6 @@ int nl80211_get_freqlist(const char *ifname, char *buf, int *len) [NL80211_FREQUENCY_ATTR_MAX_TX_POWER] = { .type = NLA_U32 }, }; - if( !wext_get_freqlist(ifname, buf, len) ) - return 0; - req = nl80211_msg(ifname, NL80211_CMD_GET_WIPHY, 0); if( req ) { @@ -1340,9 +1337,18 @@ int nl80211_get_freqlist(const char *ifname, char *buf, int *len) nla_parse(freqs, NL80211_FREQUENCY_ATTR_MAX, nla_data(freq), nla_len(freq), freq_policy); + if( freqs[NL80211_FREQUENCY_ATTR_DISABLED] ) + continue; + e->mhz = nla_get_u32(freqs[NL80211_FREQUENCY_ATTR_FREQ]); e->channel = nl80211_freq2channel(e->mhz); + e->restricted = ( + freqs[NL80211_FREQUENCY_ATTR_PASSIVE_SCAN] || + freqs[NL80211_FREQUENCY_ATTR_NO_IBSS] || + freqs[NL80211_FREQUENCY_ATTR_RADAR] + ) ? 1 : 0; + e++; count++; }