diff options
Diffstat (limited to 'net/mac80211/wext.c')
-rw-r--r-- | net/mac80211/wext.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c index 011592fd4528..8568f1e7266f 100644 --- a/net/mac80211/wext.c +++ b/net/mac80211/wext.c | |||
@@ -865,9 +865,9 @@ set: | |||
865 | local->powersave = ps; | 865 | local->powersave = ps; |
866 | local->dynamic_ps_timeout = timeout; | 866 | local->dynamic_ps_timeout = timeout; |
867 | 867 | ||
868 | if (sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED) { | 868 | if (!(local->hw.flags & IEEE80211_HW_NO_STACK_DYNAMIC_PS) && |
869 | if (!(local->hw.flags & IEEE80211_HW_NO_STACK_DYNAMIC_PS) && | 869 | (sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED)) { |
870 | local->dynamic_ps_timeout > 0) | 870 | if (local->dynamic_ps_timeout > 0) |
871 | mod_timer(&local->dynamic_ps_timer, jiffies + | 871 | mod_timer(&local->dynamic_ps_timer, jiffies + |
872 | msecs_to_jiffies(local->dynamic_ps_timeout)); | 872 | msecs_to_jiffies(local->dynamic_ps_timeout)); |
873 | else { | 873 | else { |
@@ -875,8 +875,9 @@ set: | |||
875 | conf->flags |= IEEE80211_CONF_PS; | 875 | conf->flags |= IEEE80211_CONF_PS; |
876 | else | 876 | else |
877 | conf->flags &= ~IEEE80211_CONF_PS; | 877 | conf->flags &= ~IEEE80211_CONF_PS; |
878 | ret = ieee80211_hw_config(local, | ||
879 | IEEE80211_CONF_CHANGE_PS); | ||
878 | } | 880 | } |
879 | ret = ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); | ||
880 | } | 881 | } |
881 | 882 | ||
882 | return ret; | 883 | return ret; |