summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch
new file mode 100644
index 00000000..82df3fbc
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.22/0025-ath9k-fix-a-tx-rate-duration-calculation-bug.patch
@@ -0,0 +1,41 @@
1From aabb8d6daa5fecfc6086a480865312860e6a1080 Mon Sep 17 00:00:00 2001
2From: Felix Fietkau <nbd@openwrt.org>
3Date: Fri, 15 Jun 2012 03:04:52 +0200
4Subject: [PATCH 25/46] ath9k: fix a tx rate duration calculation bug
5
6commit 76591bea9714a58d8924154068c78d702eb2cb17 upstream.
7
8The rate pointer variable for a rate series is used in a loop before it is
9initialized. This went unnoticed because it was used earlier for the RTS/CTS
10rate. This bug can lead to the wrong PHY type being passed to the
11duration calculation function.
12
13Signed-off-by: Felix Fietkau <nbd@openwrt.org>
14Signed-off-by: John W. Linville <linville@tuxdriver.com>
15Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
16---
17 drivers/net/wireless/ath/ath9k/xmit.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
21index 76fd277..c59c592 100644
22--- a/drivers/net/wireless/ath/ath9k/xmit.c
23+++ b/drivers/net/wireless/ath/ath9k/xmit.c
24@@ -936,13 +936,13 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf,
25 }
26
27 /* legacy rates */
28+ rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
29 if ((tx_info->band == IEEE80211_BAND_2GHZ) &&
30 !(rate->flags & IEEE80211_RATE_ERP_G))
31 phy = WLAN_RC_PHY_CCK;
32 else
33 phy = WLAN_RC_PHY_OFDM;
34
35- rate = &sc->sbands[tx_info->band].bitrates[rates[i].idx];
36 info->rates[i].Rate = rate->hw_value;
37 if (rate->hw_value_short) {
38 if (rates[i].flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
39--
401.7.10
41