Message ID | 1304448008-7816-1-git-send-email-coelho@ti.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Tue, 2011-05-03 at 21:40 +0300, Luciano Coelho wrote: > When we are disconnecting, we set PS off, but this happens before we > send the deauth/disassoc request. When the deauth/disassoc frames are > sent, we trigger the dynamic ps timer, which then times out and turns > PS back on. Thus, PS remains on after disconnecting, causing problems > when associating again. > > This can be fixed by preventing the timer to start when we're not > associated anymore. > > Signed-off-by: Luciano Coelho <coelho@ti.com> > --- > net/mac80211/tx.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c > index e3e3aa1..21accf8 100644 > --- a/net/mac80211/tx.c > +++ b/net/mac80211/tx.c > @@ -237,6 +237,10 @@ ieee80211_tx_h_dynamic_ps(struct ieee80211_tx_data *tx) > &local->dynamic_ps_disable_work); > } > > + /* Don't restart the timer if we're not disassociated */ > + if (!ifmgd->associated) > + return TX_CONTINUE; > + > mod_timer(&local->dynamic_ps_timer, jiffies + > msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); > Do you people think this should go into 2.6.39?
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index e3e3aa1..21accf8 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -237,6 +237,10 @@ ieee80211_tx_h_dynamic_ps(struct ieee80211_tx_data *tx) &local->dynamic_ps_disable_work); } + /* Don't restart the timer if we're not disassociated */ + if (!ifmgd->associated) + return TX_CONTINUE; + mod_timer(&local->dynamic_ps_timer, jiffies + msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout));
When we are disconnecting, we set PS off, but this happens before we send the deauth/disassoc request. When the deauth/disassoc frames are sent, we trigger the dynamic ps timer, which then times out and turns PS back on. Thus, PS remains on after disconnecting, causing problems when associating again. This can be fixed by preventing the timer to start when we're not associated anymore. Signed-off-by: Luciano Coelho <coelho@ti.com> --- net/mac80211/tx.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)