mac80211: fix too early reorder release timer
authorChristian Lamparter <chunkeey@googlemail.com>
Sun, 24 Apr 2011 18:41:16 +0000 (20:41 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 26 Apr 2011 19:50:31 +0000 (15:50 -0400)
The release timer has to expire "just" after a
frame is up for release. Currently, if the timer
callback starts on time, the "!time_after" check
above will start a new timer instead of
releasing the frames.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/rx.c

index 1f06b31e21c15f1ebb5bf5836cc5107899b19639..b04a4378adccb21440c1714d5744926bcb5c1f1c 100644 (file)
@@ -652,7 +652,7 @@ static void ieee80211_sta_reorder_release(struct ieee80211_hw *hw,
  set_release_timer:
 
                mod_timer(&tid_agg_rx->reorder_timer,
-                         tid_agg_rx->reorder_time[j] +
+                         tid_agg_rx->reorder_time[j] + 1 +
                          HT_RX_REORDER_BUF_TIMEOUT);
        } else {
                del_timer(&tid_agg_rx->reorder_timer);