From 87bbccb614bd6531f6c78e0ae5584c7077425a07 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 14 Jan 2012 13:50:30 +0000
Subject: [PATCH] ath9k: fix handling of the KeyMiss flag for received packets
 - fixes connection stability issues with crypto enabled

SVN-Revision: 29745
---
 .../patches/566-ath9k_fix_keymiss.patch       | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 package/mac80211/patches/566-ath9k_fix_keymiss.patch

diff --git a/package/mac80211/patches/566-ath9k_fix_keymiss.patch b/package/mac80211/patches/566-ath9k_fix_keymiss.patch
new file mode 100644
index 0000000000..d939e59965
--- /dev/null
+++ b/package/mac80211/patches/566-ath9k_fix_keymiss.patch
@@ -0,0 +1,32 @@
+--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+@@ -558,10 +558,11 @@ int ath9k_hw_process_rxdesc_edma(struct 
+ 			rxs->rs_status |= ATH9K_RXERR_DECRYPT;
+ 		else if (rxsp->status11 & AR_MichaelErr)
+ 			rxs->rs_status |= ATH9K_RXERR_MIC;
+-		if (rxsp->status11 & AR_KeyMiss)
+-			rxs->rs_status |= ATH9K_RXERR_KEYMISS;
+ 	}
+ 
++	if (rxsp->status11 & AR_KeyMiss)
++		rxs->rs_status |= ATH9K_RXERR_KEYMISS;
++
+ 	return 0;
+ }
+ EXPORT_SYMBOL(ath9k_hw_process_rxdesc_edma);
+--- a/drivers/net/wireless/ath/ath9k/mac.c
++++ b/drivers/net/wireless/ath/ath9k/mac.c
+@@ -621,10 +621,11 @@ int ath9k_hw_rxprocdesc(struct ath_hw *a
+ 			rs->rs_status |= ATH9K_RXERR_DECRYPT;
+ 		else if (ads.ds_rxstatus8 & AR_MichaelErr)
+ 			rs->rs_status |= ATH9K_RXERR_MIC;
+-		if (ads.ds_rxstatus8 & AR_KeyMiss)
+-			rs->rs_status |= ATH9K_RXERR_KEYMISS;
+ 	}
+ 
++	if (ads.ds_rxstatus8 & AR_KeyMiss)
++		rs->rs_status |= ATH9K_RXERR_KEYMISS;
++
+ 	return 0;
+ }
+ EXPORT_SYMBOL(ath9k_hw_rxprocdesc);
-- 
GitLab