linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired
@ 2011-01-10 12:38 Stanislaw Gruszka
  2011-01-10 22:41 ` Jarod Wilson
  2011-01-11 23:38 ` [stable] " Andi Kleen
  0 siblings, 2 replies; 3+ messages in thread
From: Stanislaw Gruszka @ 2011-01-10 12:38 UTC (permalink / raw)
  To: Andi Kleen, stable, Kyle McMartin, kernel; +Cc: Johannes Berg, linux-wireless

Problem is 2.6.35 specific, bug was introduced in backport
of upstream 44271488b91c9eecf249e075a1805dd887e222d2 commit.

We can not call del_timer_sync(addba_resp_timer) from
___ieee80211_stop_tx_ba_session(), as this function can be called from
that timer callback. To fix, simply use not synchronous del_timer().

Resolve https://bugzilla.redhat.com/show_bug.cgi?id=667459

Reported-and-tested-by: Mathieu Chouquet-Stringer <mathieu-acct@csetco.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 net/mac80211/agg-tx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index f935490..72ab63d 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -138,7 +138,7 @@ int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
 	       sta->sta.addr, tid);
 #endif /* CONFIG_MAC80211_HT_DEBUG */
 
-	del_timer_sync(&tid_tx->addba_resp_timer);
+	del_timer(&tid_tx->addba_resp_timer);
 
 	state = &sta->ampdu_mlme.tid_state_tx[tid];
 
-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired
  2011-01-10 12:38 [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired Stanislaw Gruszka
@ 2011-01-10 22:41 ` Jarod Wilson
  2011-01-11 23:38 ` [stable] " Andi Kleen
  1 sibling, 0 replies; 3+ messages in thread
From: Jarod Wilson @ 2011-01-10 22:41 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: Andi Kleen, stable, Kyle McMartin, kernel, linux-wireless,
	Johannes Berg

On Mon, Jan 10, 2011 at 01:38:21PM +0100, Stanislaw Gruszka wrote:
> Problem is 2.6.35 specific, bug was introduced in backport
> of upstream 44271488b91c9eecf249e075a1805dd887e222d2 commit.
> 
> We can not call del_timer_sync(addba_resp_timer) from
> ___ieee80211_stop_tx_ba_session(), as this function can be called from
> that timer callback. To fix, simply use not synchronous del_timer().
> 
> Resolve https://bugzilla.redhat.com/show_bug.cgi?id=667459

Selfishly merged and committed to the F14 kernel tree, because I think I
may be hitting the same issue once in a while here on my own T61. :)

-- 
Jarod Wilson
jarod@redhat.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [stable] [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired
  2011-01-10 12:38 [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired Stanislaw Gruszka
  2011-01-10 22:41 ` Jarod Wilson
@ 2011-01-11 23:38 ` Andi Kleen
  1 sibling, 0 replies; 3+ messages in thread
From: Andi Kleen @ 2011-01-11 23:38 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: Andi Kleen, stable, Kyle McMartin, kernel, linux-wireless,
	Johannes Berg

On Mon, Jan 10, 2011 at 01:38:21PM +0100, Stanislaw Gruszka wrote:
> Problem is 2.6.35 specific, bug was introduced in backport
> of upstream 44271488b91c9eecf249e075a1805dd887e222d2 commit.
> 
> We can not call del_timer_sync(addba_resp_timer) from
> ___ieee80211_stop_tx_ba_session(), as this function can be called from
> that timer callback. To fix, simply use not synchronous del_timer().

Applied to the 2.6.35.11 queue thanks.

-Andi

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-01-11 23:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-10 12:38 [PATCH 2.6.35] mac80211: fix hard lockup in sta_addba_resp_timer_expired Stanislaw Gruszka
2011-01-10 22:41 ` Jarod Wilson
2011-01-11 23:38 ` [stable] " Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).