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)
SVN-Revision: 31428

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

index 9fc2e2c0efcf6a10727c9d0f8ef788e11c12dd6b..333cda5a4db22506793bba35418b938ec147a713 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 1b7782cf8271c2495883ec93dfcddea4ac07c1be..d8e46dfaf6b0c8b59ee13eb236fa3c86340586f4 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;