diff options
author | Vivek Natarajan <vivek.natraj@gmail.com> | 2009-03-02 09:50:30 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:38 -0500 |
commit | 25c9c8752849212a25bf7f38b40b64b3958d619b (patch) | |
tree | 7d77d55dc8a94de19b5d7b097c2a8ebab9924f59 /net/mac80211/mlme.c | |
parent | e0caf9eaae5182ab4e02a5d703ade64719738f87 (diff) |
mac80211: Always send a null data frame if TIM bit is set.
If the AP thinks we are in power save state eventhough we are not truly
in that state, it sets the TIM bit and does not send a data frame unless
we send a null data frame to correct the state in the AP.
This might happen if the null data frame for wake up is lost in the air
after we disable power save.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 52d876e3eabe..391445c6b892 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -1458,8 +1458,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, | |||
1458 | ieee80211_sta_wmm_params(local, ifmgd, elems.wmm_param, | 1458 | ieee80211_sta_wmm_params(local, ifmgd, elems.wmm_param, |
1459 | elems.wmm_param_len); | 1459 | elems.wmm_param_len); |
1460 | 1460 | ||
1461 | if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK && | 1461 | if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) { |
1462 | local->hw.conf.flags & IEEE80211_CONF_PS) { | ||
1463 | directed_tim = ieee80211_check_tim(&elems, ifmgd->aid); | 1462 | directed_tim = ieee80211_check_tim(&elems, ifmgd->aid); |
1464 | 1463 | ||
1465 | if (directed_tim) { | 1464 | if (directed_tim) { |