]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.32.9/ath9k-fix-sequence-numbers-for-pae-frames.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.32.9 / ath9k-fix-sequence-numbers-for-pae-frames.patch
1 From 6c8afef551fef87a3bf24f8a74c69a7f2f72fc82 Mon Sep 17 00:00:00 2001
2 From: Sujith <Sujith.Manoharan@atheros.com>
3 Date: Tue, 9 Feb 2010 10:07:00 +0530
4 Subject: ath9k: Fix sequence numbers for PAE frames
5
6 From: Sujith <Sujith.Manoharan@atheros.com>
7
8 commit 6c8afef551fef87a3bf24f8a74c69a7f2f72fc82 upstream.
9
10 Currently, PAE frames are not assigned proper sequence numbers.
11 Since sending PAE frames as part of aggregates breaks
12 crupto with several APs, they are sent as normal MPDUs.
13 Fix the seqeuence number issue by updating the frame with the
14 internal sequence number.
15
16 Tested-by: Felix Fietkau <nbd@openwrt.org>
17 Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
18 Signed-off-by: John W. Linville <linville@tuxdriver.com>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
20
21 ---
22 drivers/net/wireless/ath/ath9k/xmit.c | 4 ++--
23 1 file changed, 2 insertions(+), 2 deletions(-)
24
25 --- a/drivers/net/wireless/ath/ath9k/xmit.c
26 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
27 @@ -1563,7 +1563,7 @@ static int ath_tx_setup_buffer(struct ie
28
29 bf->bf_frmlen = skb->len + FCS_LEN - (hdrlen & 3);
30
31 - if (conf_is_ht(&sc->hw->conf) && !is_pae(skb))
32 + if (conf_is_ht(&sc->hw->conf))
33 bf->bf_state.bf_type |= BUF_HT;
34
35 bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq);
36 @@ -1648,7 +1648,7 @@ static void ath_tx_start_dma(struct ath_
37 goto tx_done;
38 }
39
40 - if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) {
41 + if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && !is_pae(skb)) {
42 /*
43 * Try aggregation if it's a unicast data frame
44 * and the destination is HT capable.