ath9k: merge a tkip related stability fix
authorFelix Fietkau <nbd@openwrt.org>
Sat, 21 Apr 2012 20:34:33 +0000 (20:34 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 21 Apr 2012 20:34:33 +0000 (20:34 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31428 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/300-pending_work.patch
package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch

index 9fc2e2c..333cda5 100644 (file)
  
  #include "dev.h"
  #include "decl.h"
+--- a/drivers/net/wireless/ath/ath9k/recv.c
++++ b/drivers/net/wireless/ath/ath9k/recv.c
+@@ -812,6 +812,7 @@ static bool ath9k_rx_accept(struct ath_c
+       is_valid_tkip = rx_stats->rs_keyix != ATH9K_RXKEYIX_INVALID &&
+               test_bit(rx_stats->rs_keyix, common->tkip_keymap);
+       strip_mic = is_valid_tkip && ieee80211_is_data(fc) &&
++              ieee80211_has_protected(fc) &&
+               !(rx_stats->rs_status &
+               (ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
+                ATH9K_RXERR_KEYMISS));
index 1b7782c..d8e46df 100644 (file)
        u8 rs_num_delims;
 --- a/drivers/net/wireless/ath/ath9k/recv.c
 +++ b/drivers/net/wireless/ath/ath9k/recv.c
-@@ -987,6 +987,7 @@ static int ath9k_rx_skb_preprocess(struc
+@@ -988,6 +988,7 @@ static int ath9k_rx_skb_preprocess(struc
                                   bool *decrypt_error)
  {
        struct ath_hw *ah = common->ah;
  
        /*
         * everything but the rate is checked here, the rate check is done
-@@ -1012,6 +1013,20 @@ static int ath9k_rx_skb_preprocess(struc
+@@ -1013,6 +1014,20 @@ static int ath9k_rx_skb_preprocess(struc
        if (rx_stats->rs_moreaggr)
                rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
  
        return 0;
  }
  
-@@ -1542,14 +1557,14 @@ static void ath_ant_comb_scan(struct ath
+@@ -1543,14 +1558,14 @@ static void ath_ant_comb_scan(struct ath
        struct ath_ant_comb *antcomb = &sc->ant_comb;
        int alt_ratio = 0, alt_rssi_avg = 0, main_rssi_avg = 0, curr_alt_set;
        int curr_main_set;