diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/11n_rxreorder.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/11n_rxreorder.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c b/drivers/net/wireless/mwifiex/11n_rxreorder.c index e5dfdc39a92..d2358cfcbe9 100644 --- a/drivers/net/wireless/mwifiex/11n_rxreorder.c +++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c | |||
@@ -267,7 +267,8 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta, | |||
267 | else | 267 | else |
268 | last_seq = priv->rx_seq[tid]; | 268 | last_seq = priv->rx_seq[tid]; |
269 | 269 | ||
270 | if (last_seq >= new_node->start_win) | 270 | if (last_seq != MWIFIEX_DEF_11N_RX_SEQ_NUM && |
271 | last_seq >= new_node->start_win) | ||
271 | new_node->start_win = last_seq + 1; | 272 | new_node->start_win = last_seq + 1; |
272 | 273 | ||
273 | new_node->win_size = win_size; | 274 | new_node->win_size = win_size; |
@@ -612,5 +613,5 @@ void mwifiex_11n_cleanup_reorder_tbl(struct mwifiex_private *priv) | |||
612 | spin_unlock_irqrestore(&priv->rx_reorder_tbl_lock, flags); | 613 | spin_unlock_irqrestore(&priv->rx_reorder_tbl_lock, flags); |
613 | 614 | ||
614 | INIT_LIST_HEAD(&priv->rx_reorder_tbl_ptr); | 615 | INIT_LIST_HEAD(&priv->rx_reorder_tbl_ptr); |
615 | memset(priv->rx_seq, 0, sizeof(priv->rx_seq)); | 616 | mwifiex_reset_11n_rx_seq_num(priv); |
616 | } | 617 | } |