diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2011-01-10 13:38:21 +0100 |
---|---|---|
committer | AK <andi@firstfloor.org> | 2011-02-06 11:03:53 -0800 |
commit | f776b89f14c57f89a21110b8e78d9dafe71ae80d (patch) | |
tree | 4557f64ecda67ba716ad7d32003bd2438651ab94 /net | |
parent | cae5e948bc8775fb251f4b2286f34d027c21a0b1 (diff) |
mac80211: fix hard lockup in sta_addba_resp_timer_expired
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>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | 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 f935490560ba..72ab63d6a536 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]; |