freebsd-nq/sys/dev/ath
Adrian Chadd 7d567ed66f Add tracking for self-generated frames when the VAP is in sleep state.
The hardware can generate its own frames (eg RTS/CTS exchanges, other
kinds of 802.11 management stuff, especially when it comes to 802.11n)
and these also have PWRMGT flags.  So if the VAP is asleep but the
NIC is in force-awake for some reason, ensure that the self-generated
frames have PWRMGT set to 1.

Now, this (like basically everything to do with powersave) is still
racy - the only way to guarantee that it's all actually consistent
is to pause transmit and let it finish before transitioning the VAP
to sleep, but this at least gets the basic method of tracking and
updating the state debugged.

Tested:

* AR5416, STA mode
* AR9380, STA mode
2014-05-02 00:48:09 +00:00
..
ath_dfs/null
ath_hal * Only update ah_powerMode if we're setting the chip sleep state. 2014-04-30 02:03:13 +00:00
ath_rate
ah_osdep.c Add a function to check whether the given register can be accessed whilst 2014-04-09 03:51:05 +00:00
ah_osdep.h
if_ath_ahb.c
if_ath_alq.c
if_ath_alq.h
if_ath_beacon.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_beacon.h Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_btcoex.c
if_ath_btcoex.h
if_ath_debug.c
if_ath_debug.h Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_keycache.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_keycache.h
if_ath_led.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_led.h
if_ath_lna_div.c
if_ath_lna_div.h
if_ath_misc.h Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00
if_ath_pci.c
if_ath_rx_edma.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_rx_edma.h
if_ath_rx.c * Modify the beacon interval in debugging to be ni_intval, not 102400 2014-04-30 02:44:07 +00:00
if_ath_rx.h
if_ath_spectral.c
if_ath_spectral.h
if_ath_sysctl.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_sysctl.h
if_ath_tdma.c
if_ath_tdma.h
if_ath_tsf.h
if_ath_tx_edma.c
if_ath_tx_edma.h
if_ath_tx_ht.c
if_ath_tx_ht.h
if_ath_tx.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_tx.h
if_ath.c Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00
if_athdfs.h
if_athioctl.h
if_athrate.h
if_athvar.h Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00