diff options
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 82414a63682..fc2ff78582c 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -612,7 +612,8 @@ static void ieee80211_sta_reorder_release(struct ieee80211_hw *hw, | |||
612 | skipped++; | 612 | skipped++; |
613 | continue; | 613 | continue; |
614 | } | 614 | } |
615 | if (!time_after(jiffies, tid_agg_rx->reorder_time[j] + | 615 | if (skipped && |
616 | !time_after(jiffies, tid_agg_rx->reorder_time[j] + | ||
616 | HT_RX_REORDER_BUF_TIMEOUT)) | 617 | HT_RX_REORDER_BUF_TIMEOUT)) |
617 | goto set_release_timer; | 618 | goto set_release_timer; |
618 | 619 | ||
@@ -2542,7 +2543,6 @@ static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx) | |||
2542 | * same TID from the same station | 2543 | * same TID from the same station |
2543 | */ | 2544 | */ |
2544 | rx->skb = skb; | 2545 | rx->skb = skb; |
2545 | rx->flags = 0; | ||
2546 | 2546 | ||
2547 | CALL_RXH(ieee80211_rx_h_decrypt) | 2547 | CALL_RXH(ieee80211_rx_h_decrypt) |
2548 | CALL_RXH(ieee80211_rx_h_check_more_data) | 2548 | CALL_RXH(ieee80211_rx_h_check_more_data) |
@@ -2613,6 +2613,7 @@ void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid) | |||
2613 | .sdata = sta->sdata, | 2613 | .sdata = sta->sdata, |
2614 | .local = sta->local, | 2614 | .local = sta->local, |
2615 | .queue = tid, | 2615 | .queue = tid, |
2616 | .flags = 0, | ||
2616 | }; | 2617 | }; |
2617 | struct tid_ampdu_rx *tid_agg_rx; | 2618 | struct tid_ampdu_rx *tid_agg_rx; |
2618 | 2619 | ||