ath9k: fix a WEP crypto related regression
ath9k_hw: fix a RTS/CTS timeout regression
This commit is contained in:
parent
69d2ad30b8
commit
5edcb3f1d2
|
@ -0,0 +1,66 @@
|
|||
From nbd@nbd.name Sun Feb 5 15:15:47 2012
|
||||
Return-path: <nbd@nbd.name>
|
||||
Envelope-to: linville@tuxdriver.com
|
||||
Delivery-date: Sun, 05 Feb 2012 15:15:47 -0500
|
||||
Received: from [2a01:4f8:131:30e2::2] (helo=nbd.name)
|
||||
by smtp.tuxdriver.com with esmtps (TLSv1:AES256-SHA:256)
|
||||
(Exim 4.63)
|
||||
(envelope-from <nbd@nbd.name>)
|
||||
id 1Ru8Um-0004mD-I2
|
||||
for linville@tuxdriver.com; Sun, 05 Feb 2012 15:15:47 -0500
|
||||
Received: by nf.local (Postfix, from userid 501)
|
||||
id 12D0F5BDE1DC; Sun, 5 Feb 2012 21:15:18 +0100 (CET)
|
||||
From: Felix Fietkau <nbd@openwrt.org>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: linville@tuxdriver.com,
|
||||
mcgrof@qca.qualcomm.com,
|
||||
mohammed@qca.qualcomm.com
|
||||
Subject: [PATCH 3.3 1/2] ath9k: fix a WEP crypto related regression
|
||||
Date: Sun, 5 Feb 2012 21:15:17 +0100
|
||||
Message-Id: <1328472918-30012-1-git-send-email-nbd@openwrt.org>
|
||||
X-Mailer: git-send-email 1.7.3.2
|
||||
X-Spam-Score: -1.1 (-)
|
||||
X-Spam-Status: No
|
||||
Status: RO
|
||||
Content-Length: 1381
|
||||
Lines: 38
|
||||
|
||||
commit b4a82a0 "ath9k_hw: fix interpretation of the rx KeyMiss flag"
|
||||
fixed the interpretation of the KeyMiss flag for keycache based lookups,
|
||||
however WEP encryption uses a static index, so KeyMiss is always asserted
|
||||
for it, even though frames are decrypted properly.
|
||||
Fix this by clearing the ATH9K_RXERR_KEYMISS flag if no keycache based
|
||||
lookup was performed.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
Reported-by: Laurent Bonnans <bonnans.l@gmail.com>
|
||||
Reported-by: Jurica Vukadin <u.ra604@googlemail.com>
|
||||
---
|
||||
drivers/net/wireless/ath/ath9k/recv.c | 8 ++++++++
|
||||
1 files changed, 8 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
|
||||
index 0e666fb..7e1a91a 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/recv.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/recv.c
|
||||
@@ -822,6 +822,14 @@ static bool ath9k_rx_accept(struct ath_common *common,
|
||||
(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
|
||||
ATH9K_RXERR_KEYMISS));
|
||||
|
||||
+ /*
|
||||
+ * Key miss events are only relevant for pairwise keys where the
|
||||
+ * descriptor does contain a valid key index. This has been observed
|
||||
+ * mostly with CCMP encryption.
|
||||
+ */
|
||||
+ if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID)
|
||||
+ rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS;
|
||||
+
|
||||
if (!rx_stats->rs_datalen)
|
||||
return false;
|
||||
/*
|
||||
--
|
||||
1.7.3.2
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
From nbd@nbd.name Sun Feb 5 15:15:46 2012
|
||||
Return-path: <nbd@nbd.name>
|
||||
Envelope-to: linville@tuxdriver.com
|
||||
Delivery-date: Sun, 05 Feb 2012 15:15:46 -0500
|
||||
Received: from [2a01:4f8:131:30e2::2] (helo=nbd.name)
|
||||
by smtp.tuxdriver.com with esmtps (TLSv1:AES256-SHA:256)
|
||||
(Exim 4.63)
|
||||
(envelope-from <nbd@nbd.name>)
|
||||
id 1Ru8Um-0004mE-I0
|
||||
for linville@tuxdriver.com; Sun, 05 Feb 2012 15:15:44 -0500
|
||||
Received: by nf.local (Postfix, from userid 501)
|
||||
id 1926D5BDE1DD; Sun, 5 Feb 2012 21:15:18 +0100 (CET)
|
||||
From: Felix Fietkau <nbd@openwrt.org>
|
||||
To: linux-wireless@vger.kernel.org
|
||||
Cc: linville@tuxdriver.com,
|
||||
mcgrof@qca.qualcomm.com,
|
||||
mohammed@qca.qualcomm.com
|
||||
Subject: [PATCH 3.3 2/2] ath9k_hw: fix a RTS/CTS timeout regression
|
||||
Date: Sun, 5 Feb 2012 21:15:18 +0100
|
||||
Message-Id: <1328472918-30012-2-git-send-email-nbd@openwrt.org>
|
||||
X-Mailer: git-send-email 1.7.3.2
|
||||
In-Reply-To: <1328472918-30012-1-git-send-email-nbd@openwrt.org>
|
||||
References: <1328472918-30012-1-git-send-email-nbd@openwrt.org>
|
||||
X-Spam-Score: -1.1 (-)
|
||||
X-Spam-Status: No
|
||||
Status: RO
|
||||
Content-Length: 1749
|
||||
Lines: 45
|
||||
|
||||
commit adb5066 "ath9k_hw: do not apply the 2.4 ghz ack timeout
|
||||
workaround to cts" reduced the hardware CTS timeout to the normal
|
||||
values specified by the standard, but it turns out while it doesn't
|
||||
need the same extra time that it needs for the ACK timeout, it
|
||||
does need more than the value specified in the standard, but only
|
||||
for 2.4 GHz.
|
||||
|
||||
This patch brings the CTS timeout value in sync with the initialization
|
||||
values, while still allowing adjustment for bigger distances.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
Reported-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
Reported-by: Marek Lindner <lindner_marek@yahoo.de>
|
||||
---
|
||||
drivers/net/wireless/ath/ath9k/hw.c | 7 +++++--
|
||||
1 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
index ee77595..87db1ee 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1037,13 +1037,16 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah)
|
||||
|
||||
/*
|
||||
* Workaround for early ACK timeouts, add an offset to match the
|
||||
- * initval's 64us ack timeout value.
|
||||
+ * initval's 64us ack timeout value. Use 48us for the CTS timeout.
|
||||
* This was initially only meant to work around an issue with delayed
|
||||
* BA frames in some implementations, but it has been found to fix ACK
|
||||
* timeout issues in other cases as well.
|
||||
*/
|
||||
- if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ)
|
||||
+ if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ) {
|
||||
acktimeout += 64 - sifstime - ah->slottime;
|
||||
+ ctstimeout += 48 - sifstime - ah->slottime;
|
||||
+ }
|
||||
+
|
||||
|
||||
ath9k_hw_set_sifs_time(ah, sifstime);
|
||||
ath9k_hw_setslottime(ah, slottime);
|
||||
--
|
||||
1.7.3.2
|
||||
|
||||
|
||||
|
|
@ -821,6 +821,8 @@ Patch50113: iwlwifi-don-t-mess-up-QoS-counters-with-non-QoS-fram.patch
|
|||
Patch50114: mac80211-timeout-a-single-frame-in-the-rx-reorder-bu.patch
|
||||
|
||||
Patch50200: ath9k-use-WARN_ON_ONCE-in-ath_rc_get_highest_rix.patch
|
||||
Patch50201: ath9k-fix-a-WEP-crypto-related-regression.patch
|
||||
Patch50202: ath9k_hw-fix-a-RTS-CTS-timeout-regression.patch
|
||||
|
||||
%endif
|
||||
|
||||
|
@ -1583,6 +1585,8 @@ ApplyPatch iwlwifi-don-t-mess-up-QoS-counters-with-non-QoS-fram.patch
|
|||
ApplyPatch mac80211-timeout-a-single-frame-in-the-rx-reorder-bu.patch
|
||||
|
||||
ApplyPatch ath9k-use-WARN_ON_ONCE-in-ath_rc_get_highest_rix.patch
|
||||
ApplyPatch ath9k-fix-a-WEP-crypto-related-regression.patch
|
||||
ApplyPatch ath9k_hw-fix-a-RTS-CTS-timeout-regression.patch
|
||||
|
||||
ApplyPatch rt2x00_fix_MCU_request_failures.patch
|
||||
|
||||
|
@ -2291,6 +2295,10 @@ fi
|
|||
# and build.
|
||||
|
||||
%changelog
|
||||
* Mon Feb 06 2012 John W. Linville <linville@redhat.com>
|
||||
- ath9k: fix a WEP crypto related regression
|
||||
- ath9k_hw: fix a RTS/CTS timeout regression
|
||||
|
||||
* Sun Feb 05 2012 Dave Jones <davej@redhat.com>
|
||||
- Remove unnecessary block-stray-block-put-after-teardown.patch
|
||||
- readahead: fix pipeline break caused by block plug
|
||||
|
|
Loading…
Reference in New Issue