aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2012-12-12 03:12:24 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-01-31 08:05:38 -0500
commitc65dd1477b6fe5971489dd8b6e28a07ec277fdd6 (patch)
tree01f740a3fa02bc957b22575fcd1bb486b0af6e43 /net/mac80211/util.c
parentfdcb786930777231c81f487ab2526d33971a3438 (diff)
mac80211: inform the driver about update of dtim_period
Currently, when the driver requires the DTIM period, mac80211 will wait to hear a beacon before association. This behavior is suboptimal since some drivers may be able to deal with knowing the DTIM period after the association, if they get it at all. To address this, notify the drivers with bss_info_changed with the new BSS_CHANGED_DTIM_PERIOD flag when the DTIM becomes known. This might be when changing to associated, or later when the entire association was done with only probe response information. Rename the hardware flag for the current behaviour to IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC to more accurately reflect its behaviour. IEEE80211_HW_NEED_DTIM_PERIOD is no longer accurate as all drivers get the DTIM period now, just not before association. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 7519018ff71a..1c74512697f0 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1538,6 +1538,10 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1538 changed |= BSS_CHANGED_ASSOC | 1538 changed |= BSS_CHANGED_ASSOC |
1539 BSS_CHANGED_ARP_FILTER | 1539 BSS_CHANGED_ARP_FILTER |
1540 BSS_CHANGED_PS; 1540 BSS_CHANGED_PS;
1541
1542 if (sdata->u.mgd.dtim_period)
1543 changed |= BSS_CHANGED_DTIM_PERIOD;
1544
1541 mutex_lock(&sdata->u.mgd.mtx); 1545 mutex_lock(&sdata->u.mgd.mtx);
1542 ieee80211_bss_info_change_notify(sdata, changed); 1546 ieee80211_bss_info_change_notify(sdata, changed);
1543 mutex_unlock(&sdata->u.mgd.mtx); 1547 mutex_unlock(&sdata->u.mgd.mtx);