freebsd-skq/sys/net80211
Andriy Voskoboinyk d514ab894a net80211: fix channel list construction for non-auto operating mode.
Change the way how channel list mode <-> desired mode match is done:
- Match channel list mode for next non-auto desired modes:
 * 11b: 11g, 11ng, 11acg;
 * 11a: 11na, 11ac
- Add pre-defined channels only when one of the next conditions met:
 * the desired channel mode is 'auto' or
 * the desired channel and selected channel list modes are exactly
the same or
 * the previous rule (11g / 11n / 11ac promotion) applies.

Before r275875 construction work properly for all except
11ng / 11na / 11acg / 11ac modes - these were broken at all
(i.e., the scan list was empty); after r275875 all checks were removed,
so scan table was populated by all device-compatible channels
(desired mode was ignored).

For example, if I will set 'ifconfig wlan0 mode 11ng' for RTL8821AU:
- pre-r275875: nothing, scan will not work;
- after r275875: both 11ng and 11na bands were scanned; also, since 11b
channel list was used, 14th channel was scanned too.
- after this change: only 11ng - 1-13 channels - are used for scanning.

Tested with:
 * RTL8188EE, STA mode.
 * RTL8821AU, STA mode.

MFC after:	5 days
2019-01-23 12:43:46 +00:00
..
_ieee80211.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_acl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_action.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_action.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_adhoc.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_adhoc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ageq.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ageq.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_alq.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_alq.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_amrr.c net80211: fix possible panic for some drivers after r342211 2019-01-12 14:57:12 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_none.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_tkip.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_wep.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto.c net80211: drop m_pullup call from ieee80211_crypto_decap. 2019-01-19 16:04:26 +00:00
ieee80211_crypto.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ddb.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_dfs.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_dfs.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_freebsd.c net80211: resolve ioctl <-> detach race for ieee80211com structure 2019-01-20 13:39:18 +00:00
ieee80211_freebsd.h net80211: resolve ioctl <-> detach race for ieee80211com structure 2019-01-20 13:39:18 +00:00
ieee80211_hostap.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_hostap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ht.c kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
ieee80211_ht.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_hwmp.c Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
ieee80211_input.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_input.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ioctl.c net80211: resolve ioctl <-> detach race for ieee80211com structure 2019-01-20 13:39:18 +00:00
ieee80211_ioctl.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_mesh.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_mesh.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_monitor.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_monitor.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_node.c net80211: fix out-of-bounds read in ieee80211_amrr(9). 2018-12-19 03:08:10 +00:00
ieee80211_node.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_output.c net80211: provide rate validation for injected frames. 2019-01-13 06:01:36 +00:00
ieee80211_phy.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_phy.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_power.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_power.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_proto.c [net80211] add a method for checking if a VAP WME AC has a NOACK policy or not. 2017-12-09 23:16:02 +00:00
ieee80211_proto.h net80211: wrap protection frame allocation into ieee80211_alloc_prot() 2018-03-09 11:33:56 +00:00
ieee80211_radiotap.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_radiotap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl_none.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_regdomain.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_regdomain.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_rssadapt.c net80211: fix possible panic for some drivers after r342211 2019-01-12 14:57:12 +00:00
ieee80211_rssadapt.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_scan_sta.c net80211: fix channel list construction for non-auto operating mode. 2019-01-23 12:43:46 +00:00
ieee80211_scan_sw.c [net80211] don't abort a background scan upon reception of a single packet. 2016-10-28 02:09:45 +00:00
ieee80211_scan_sw.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_scan.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_scan.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_sta.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_sta.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_superg.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_superg.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_tdma.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_tdma.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_var.h net80211: resolve ioctl <-> detach race for ieee80211com structure 2019-01-20 13:39:18 +00:00
ieee80211_vht.c Fix build without IEEE80211_DEBUG. 2017-01-10 19:28:40 +00:00
ieee80211_vht.h [net80211] create a helper function to calculate the station facing VHT capabilities. 2017-01-10 05:30:15 +00:00
ieee80211_wds.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_wds.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_wps.h [ifconfig] Print more WPS attributes in verbose "list scan" output 2019-01-20 00:45:44 +00:00
ieee80211_xauth.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211.c net80211: resolve ioctl <-> detach race for ieee80211com structure 2019-01-20 13:39:18 +00:00
ieee80211.h [ifconfig] Print more WPS attributes in verbose "list scan" output 2019-01-20 00:45:44 +00:00