summaryrefslogtreecommitdiff
path: root/net/mac80211
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-02-10 17:55:20 +0400
committerJohannes Berg <johannes.berg@intel.com>2013-02-12 13:10:28 +0400
commit66d575705154525c33ab99b5f9ac2d246c348db6 (patch)
tree951f6245e652551783c7301703732362b22125cc /net/mac80211
parentb6a7bceb3b9315478657bc55884dfdcd104c9864 (diff)
downloadlinux-66d575705154525c33ab99b5f9ac2d246c348db6.tar.xz
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/mac80211')
-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,