Hi Johannes, As promised, here are the patches which add the off-channel powesave state. At a high level, the changes are: * Expand the PS configuration flag to be 2 bits and add helper functions for reading and setting the modes * Change the terminology around PS states, i.e. disabled -> awake and enabled -> doze * Add the off-channel PS state and put it to use * Minor driver updates based on these changes * Update brcmsmac to utilize the off-channel PS state I've made every attempt to keep things functionally equivalent for every driver except for brcmsmac. That said, I've only been able to test on brcmsmac and ath9k, plus a basic sanity check with iwlwifi. Thanks, Seth Seth Forshee (4): mac80211: Convert PS configuration from a binary flag to a set of modes mac80211: Indicate hardware support for doze state rather than powersave mac80211: Add off-channel PS state brcmsmac: Add support for off-channel powersave drivers/net/wireless/adm8211.c | 3 +- drivers/net/wireless/at76c50x-usb.c | 3 +- drivers/net/wireless/ath/ar5523/ar5523.c | 3 +- drivers/net/wireless/ath/ath5k/base.c | 3 +- drivers/net/wireless/ath/ath9k/htc_drv_init.c | 2 +- drivers/net/wireless/ath/ath9k/htc_drv_main.c | 2 +- drivers/net/wireless/ath/ath9k/init.c | 2 +- drivers/net/wireless/ath/ath9k/main.c | 2 +- drivers/net/wireless/ath/carl9170/fw.c | 2 +- drivers/net/wireless/ath/carl9170/main.c | 5 +- drivers/net/wireless/ath/carl9170/rx.c | 2 +- drivers/net/wireless/b43/main.c | 3 +- drivers/net/wireless/b43legacy/main.c | 3 +- .../net/wireless/brcm80211/brcmsmac/mac80211_if.c | 18 ++- drivers/net/wireless/brcm80211/brcmsmac/main.c | 7 +- drivers/net/wireless/brcm80211/brcmsmac/main.h | 1 + drivers/net/wireless/iwlegacy/3945-mac.c | 3 +- drivers/net/wireless/iwlegacy/4965-mac.c | 2 +- drivers/net/wireless/iwlwifi/dvm/mac80211.c | 2 +- drivers/net/wireless/iwlwifi/dvm/power.c | 3 +- drivers/net/wireless/iwlwifi/mvm/mac80211.c | 2 +- drivers/net/wireless/libertas_tf/main.c | 3 +- drivers/net/wireless/mac80211_hwsim.c | 5 +- drivers/net/wireless/mwl8k.c | 3 +- drivers/net/wireless/p54/fwio.c | 2 +- drivers/net/wireless/p54/main.c | 2 +- drivers/net/wireless/p54/txrx.c | 3 +- drivers/net/wireless/rt2x00/rt2400pci.c | 4 +- drivers/net/wireless/rt2x00/rt2500pci.c | 4 +- drivers/net/wireless/rt2x00/rt2500usb.c | 4 +- drivers/net/wireless/rt2x00/rt2800lib.c | 4 +- drivers/net/wireless/rt2x00/rt2x00config.c | 4 +- drivers/net/wireless/rt2x00/rt2x00dev.c | 3 +- drivers/net/wireless/rt2x00/rt61pci.c | 4 +- drivers/net/wireless/rt2x00/rt73usb.c | 4 +- drivers/net/wireless/rtl818x/rtl8180/dev.c | 3 +- drivers/net/wireless/rtl818x/rtl8187/dev.c | 3 +- drivers/net/wireless/rtlwifi/base.c | 2 +- drivers/net/wireless/rtlwifi/core.c | 2 +- drivers/net/wireless/rtlwifi/ps.c | 4 +- drivers/net/wireless/ti/wl1251/main.c | 10 +- drivers/net/wireless/ti/wlcore/main.c | 5 +- drivers/net/wireless/zd1211rw/zd_mac.c | 3 +- include/net/mac80211.h | 128 +++++++++++++------- net/mac80211/cfg.c | 2 +- net/mac80211/debugfs.c | 2 +- net/mac80211/ieee80211_i.h | 7 ++ net/mac80211/mlme.c | 31 ++--- net/mac80211/offchannel.c | 40 +++--- net/mac80211/tx.c | 4 +- net/mac80211/util.c | 2 +- 51 files changed, 227 insertions(+), 143 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html