diff options
author | John W. Linville <linville@tuxdriver.com> | 2012-06-06 22:40:06 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-06-06 22:40:06 +0400 |
commit | 7c9c46c16d2d1d232f3296924162de293477f017 (patch) | |
tree | 4dba9e4da9ad99a73251b4b0563f910f727894fb /net/mac80211/agg-rx.c | |
parent | fdbfff73408f99799724f583cbc2a0ce3263c6a7 (diff) | |
parent | 2d4524ac18a3965051f6279aff5e9b1d72ac9d7f (diff) | |
download | linux-7c9c46c16d2d1d232f3296924162de293477f017.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts:
drivers/net/wireless/iwlwifi/iwl-drv.c
Diffstat (limited to 'net/mac80211/agg-rx.c')
-rw-r--r-- | net/mac80211/agg-rx.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index a096b0dae37d..32ef11d69798 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c @@ -142,15 +142,20 @@ static void sta_rx_agg_session_timer_expired(unsigned long data) struct tid_ampdu_rx *tid_rx; unsigned long timeout; + rcu_read_lock(); tid_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[*ptid]); - if (!tid_rx) + if (!tid_rx) { + rcu_read_unlock(); return; + } timeout = tid_rx->last_rx + TU_TO_JIFFIES(tid_rx->timeout); if (time_is_after_jiffies(timeout)) { mod_timer(&tid_rx->session_timer, timeout); + rcu_read_unlock(); return; } + rcu_read_unlock(); ht_vdbg("rx session timer expired on tid %d\n", (u16)*ptid); |