On Thu, Mar 10, 2011 at 8:26 AM, Jason Young <a.young.jason@xxxxxxxxx> wrote: > If dynamic_ps is disabled, enabling power save before the 4-way > handshake completes may delay the station from being authorized to > send/receive traffic, i.e. increase roaming times. It may also result in > a failed 4-way handshake depending on the AP's timing requirements and > beacon interval, and the station's listen interval. > > To fix this, prevent power save from being enabled while the station > isn't authorized and recalculate power save whenever the station's > authorized state changes. > > Signed-off-by: Jason Young <a.young.jason@xxxxxxxxx> > --- > net/mac80211/cfg.c | 3 +++ > net/mac80211/mlme.c | 37 ++++++++++++++++++++++++++++++++----- > 2 files changed, 35 insertions(+), 5 deletions(-) > > diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c > index 7b701dc..6a7bdeb 100644 > --- a/net/mac80211/cfg.c > +++ b/net/mac80211/cfg.c > @@ -834,6 +834,9 @@ static int ieee80211_change_station(struct wiphy *wiphy, > > rcu_read_unlock(); > > + if (params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED)) > + ieee80211_recalc_ps(local, -1); > + > return 0; > } > > diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c > index cc984bd..64d92d5 100644 > --- a/net/mac80211/mlme.c > +++ b/net/mac80211/mlme.c > @@ -613,6 +613,37 @@ static void ieee80211_change_ps(struct > ieee80211_local *local) Patch fails to apply in the above line. Please correct the newline error. I think you had manually modified the patch for 80 char limit after creating it. It is not necessary and you can send it as it is. Vivek. -- 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