freebsd-nq/sys/dev/ath
Adrian Chadd eee8e3627b [ath_hal] mad, mad hacks to get some semblence of correct HT/40 channels populated.
The HT40 channel population logic was "just" doing pairs of channels starting with
the band entry frequency.  Trouble is, a lot of the rules start way off at 5120MHz,
which isn't a valid 5GHz channel.  Then, eg for HT40U, it would populate:

* (5120,5140)
* (5160,5180)
* (5200,5220)
* (5240,5260)

.. as the HT40U pairs, with the first being the primary channel.  Channel 36
is 5180MHz, and since it's not a primary channel here, it wouldn't populate it.
Then, the next HT40U would be 5200/5220, which is highly wrong.

HT40D had the same problem.

So, this just forces that 5GHz HT40 channels start at channel 36 (5180),
no matter what the band edge says.  This includes eg doing 4.9GHz channels.

This erm, meant that the HT40 channels for the low band was always wrong.

Oops!

Tested:

* AR9380, STA mode
* AR9344 SoC, AP mode

MFC after:	1 week
2017-01-05 04:56:04 +00:00
..
ath_dfs/null
ath_hal [ath_hal] mad, mad hacks to get some semblence of correct HT/40 channels populated. 2017-01-05 04:56:04 +00:00
ath_rate
ah_osdep.c
ah_osdep.h
if_ath_ahb.c
if_ath_alq.c
if_ath_alq.h
if_ath_beacon.c [ath] revert the previous commit, after reading the 802.11-2012 spec a bit more. 2016-11-28 17:06:35 +00:00
if_ath_beacon.h
if_ath_btcoex_mci.c
if_ath_btcoex_mci.h
if_ath_btcoex.c
if_ath_btcoex.h
if_ath_debug.c
if_ath_debug.h
if_ath_descdma.c
if_ath_descdma.h
if_ath_ioctl.c [ath] Begin to lay the groundwork for btcoex related ioctl controls. 2016-11-27 18:34:29 +00:00
if_ath_ioctl.h
if_ath_keycache.c net80211 + drivers: convert to ieee80211_crypto_get_key_wepidx(). 2016-12-07 22:16:07 +00:00
if_ath_keycache.h
if_ath_led.c
if_ath_led.h
if_ath_lna_div.c
if_ath_lna_div.h
if_ath_misc.h [ath] force wake the hardware if we see a missed beacon. 2016-11-28 17:54:29 +00:00
if_ath_pci_devlist.h
if_ath_pci.c
if_ath_rx_edma.c
if_ath_rx_edma.h
if_ath_rx.c [ath] include logging of TU versions of the TSF values. 2016-11-28 02:51:55 +00:00
if_ath_rx.h
if_ath_spectral.c
if_ath_spectral.h
if_ath_sysctl.c
if_ath_sysctl.h
if_ath_tdma.c Fix improper use of "its". 2016-11-08 23:59:41 +00:00
if_ath_tdma.h
if_ath_tsf.h
if_ath_tx_edma.c [ath] wake up the hardware from power-save before doing transmit completion checking. 2016-11-28 08:13:20 +00:00
if_ath_tx_edma.h
if_ath_tx_ht.c [ath] use the correct AMPDU frame limit for the given node, rather than the global config. 2016-12-03 02:47:41 +00:00
if_ath_tx_ht.h
if_ath_tx.c
if_ath_tx.h
if_ath.c [ath] force wake the hardware if we see a missed beacon. 2016-11-28 17:54:29 +00:00
if_athdfs.h
if_athioctl.h [ath] Begin to lay the groundwork for btcoex related ioctl controls. 2016-11-27 18:34:29 +00:00
if_athrate.h
if_athvar.h