freebsd-dev/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 The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ath_hal * Only update ah_powerMode if we're setting the chip sleep state. 2014-04-30 02:03:13 +00:00
ath_rate The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
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 - Provide necessary includes, that before came via if.h pollution. 2013-10-28 22:26:03 +00:00
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 The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
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 The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
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 Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
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 The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
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 The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_tdma.h
if_ath_tsf.h
if_ath_tx_edma.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
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