Vivek Natarajan <vivek.natraj@xxxxxxxxx> writes: > 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. Not a bad idea. Of course the proper fix would be that the stack is notified when the null frames transmission fails, but we don't have that yet. > --- a/net/mac80211/mlme.c > +++ b/net/mac80211/mlme.c > @@ -1457,8 +1457,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata, > ieee80211_sta_wmm_params(local, ifmgd, elems.wmm_param, > elems.wmm_param_len); > > - if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK && > - local->hw.conf.flags & IEEE80211_CONF_PS) { > + if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) { > directed_tim = ieee80211_check_tim(&elems, ifmgd->aid); Please add a comment why IEEE80211_CONF_PS is not checked. -- Kalle Valo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html