diff options
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 5c1930ba8ebe..c5d4530d8284 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -381,7 +381,7 @@ static void ieee80211_parse_qos(struct ieee80211_rx_data *rx) | |||
381 | * specs were sane enough this time around to require padding each A-MSDU | 381 | * specs were sane enough this time around to require padding each A-MSDU |
382 | * subframe to a length that is a multiple of four. | 382 | * subframe to a length that is a multiple of four. |
383 | * | 383 | * |
384 | * Padding like Atheros hardware adds which is inbetween the 802.11 header and | 384 | * Padding like Atheros hardware adds which is between the 802.11 header and |
385 | * the payload is not supported, the driver is required to move the 802.11 | 385 | * the payload is not supported, the driver is required to move the 802.11 |
386 | * header to be directly in front of the payload in that case. | 386 | * header to be directly in front of the payload in that case. |
387 | */ | 387 | */ |
@@ -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 | ||
@@ -2540,7 +2541,6 @@ static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx) | |||
2540 | * same TID from the same station | 2541 | * same TID from the same station |
2541 | */ | 2542 | */ |
2542 | rx->skb = skb; | 2543 | rx->skb = skb; |
2543 | rx->flags = 0; | ||
2544 | 2544 | ||
2545 | CALL_RXH(ieee80211_rx_h_decrypt) | 2545 | CALL_RXH(ieee80211_rx_h_decrypt) |
2546 | CALL_RXH(ieee80211_rx_h_check_more_data) | 2546 | CALL_RXH(ieee80211_rx_h_check_more_data) |
@@ -2611,6 +2611,7 @@ void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid) | |||
2611 | .sdata = sta->sdata, | 2611 | .sdata = sta->sdata, |
2612 | .local = sta->local, | 2612 | .local = sta->local, |
2613 | .queue = tid, | 2613 | .queue = tid, |
2614 | .flags = 0, | ||
2614 | }; | 2615 | }; |
2615 | struct tid_ampdu_rx *tid_agg_rx; | 2616 | struct tid_ampdu_rx *tid_agg_rx; |
2616 | 2617 | ||