summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-02-10 14:55:20 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-02-12 10:10:28 +0100
commit66d575705154525c33ab99b5f9ac2d246c348db6 (patch)
tree951f6245e652551783c7301703732362b22125cc /net
parentnl80211: minor correction in sample wowlan mask calculation (diff)
downloadlinux-66d575705154525c33ab99b5f9ac2d246c348db6.tar.xz
linux-66d575705154525c33ab99b5f9ac2d246c348db6.zip
mac80211: allow driver to be stateless wrt. SMSP requests
Bail out if no update is made to the SMPS state. This allows the driver to avoid duplicating the state. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/ht.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
index 61ac7c48ac0c..9e7560becbbb 100644
--- a/net/mac80211/ht.c
+++ b/net/mac80211/ht.c
@@ -406,6 +406,9 @@ void ieee80211_request_smps(struct ieee80211_vif *vif,
if (WARN_ON(smps_mode == IEEE80211_SMPS_OFF))
smps_mode = IEEE80211_SMPS_AUTOMATIC;
+ if (sdata->u.mgd.driver_smps_mode == smps_mode)
+ return;
+
sdata->u.mgd.driver_smps_mode = smps_mode;
ieee80211_queue_work(&sdata->local->hw,