Here is v5 of my dynamic powersave patches. I have tested them with stlc45xx on Nokia N810. I think (and hope) that the patches are close to inclusion now. Please review. changes in v5: o check STA interface earlier in siwpower() o moved queue track patch before dynamic power save patch o add new functions ieee80211_wake_queues_by_reason() and ieee80211_stop_queues_by_reason() for optimised locking o dropped "move dynamic_ps_timeout to hw.conf" for now, will resubmit it later when I have example driver implementation o renamed the hw flag to IEEE80211_HW_NO_STACK_DYNAMIC_PS and inverted it's functionality, now drivers need to explicitly disable the feature o folded hw flag patch to the main dynamic power save patch changes in v4: o add check for station interface to siwpower() o call hw_config() also for dynamic timeout changes o add dynamic_ prefix to workqueues o test for IEEE80211_HW_NO_DYNAMIC_PS in siwpower() o wrote documentation for IEEE80211_HW_NO_DYNAMIC_PS o wrote documentation for conf->dynamic_ps_timeout changes in v3: o add a hw flag to notify that driver doesn't support dynamic power save and which will enable mac80211 implementation o delete dynamic_ps_timer and cancel ps_enable_work during association, hopefully it's race free now o provide timeout value to the drivers, for example iwlwifi should use it (example patch under works) o fix a bad bug in testing IEEE80211_STA_ASSOCIATED flag with && operator Power save related features which I'll implement later: o disable power save when software scanning o move dynamic_ps_timeout to hw.conf so that drivers can use it in case they need to o beacon period (wakeup period) to the drivers, can be set from user space but otherwise is bss's DTIM value --- Kalle Valo (3): mac80211: implement dynamic power save mac80211: track master queue status mac80211: enable IEEE80211_CONF_PS only when associated include/net/mac80211.h | 6 +++ net/mac80211/ieee80211_i.h | 23 +++++++++++- net/mac80211/main.c | 9 +++++ net/mac80211/mlme.c | 60 ++++++++++++++++++++++++++++++- net/mac80211/tx.c | 13 +++++++ net/mac80211/util.c | 86 +++++++++++++++++++++++++++++++++++++++++--- net/mac80211/wext.c | 46 +++++++++++++++++++----- 7 files changed, 226 insertions(+), 17 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