ath9k: fix handling of the KeyMiss flag for received packets - fixes connection stabi...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 14 Jan 2012 13:54:30 +0000 (13:54 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 14 Jan 2012 13:54:30 +0000 (13:54 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@29746 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/566-ath9k_fix_keymiss.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/566-ath9k_fix_keymiss.patch b/package/mac80211/patches/566-ath9k_fix_keymiss.patch
new file mode 100644 (file)
index 0000000..d939e59
--- /dev/null
@@ -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);