mac80211: reorganize patches, fold in patches that were merged upstream
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 551-ath9k_per_chain_signal_strength.patch
index 6b4857ba147614e42d7d8a55e4b6208f34b90442..75d2a34e5be2ff5880eb471b28131bbebd6c4dc8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -684,6 +684,9 @@ enum mac80211_rx_flags {
+@@ -687,6 +687,9 @@ enum mac80211_rx_flags {
   * @mactime: value in microseconds of the 64-bit Time Synchronization Function
   *    (TSF) timer when the first data symbol (MPDU) arrived at the hardware.
   * @band: the active band when this frame was received
@@ -10,7 +10,7 @@
   * @freq: frequency the radio was tuned to when receiving this frame, in MHz
   * @signal: signal strength when receiving this frame, either in dBm, in dB or
   *    unspecified depending on the hardware capabilities flags
-@@ -697,6 +700,10 @@ enum mac80211_rx_flags {
+@@ -700,6 +703,10 @@ enum mac80211_rx_flags {
  struct ieee80211_rx_status {
        u64 mactime;
        enum ieee80211_band band;
@@ -37,7 +37,7 @@
  
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -1270,6 +1270,7 @@ ieee80211_rx_h_sta_process(struct ieee80
+@@ -1271,6 +1271,7 @@ ieee80211_rx_h_sta_process(struct ieee80
        struct sk_buff *skb = rx->skb;
        struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
@@ -45,9 +45,9 @@
  
        if (!sta)
                return RX_CONTINUE;
-@@ -1312,6 +1313,19 @@ ieee80211_rx_h_sta_process(struct ieee80
-       sta->last_signal = status->signal;
-       ewma_add(&sta->avg_signal, -status->signal);
+@@ -1315,6 +1316,19 @@ ieee80211_rx_h_sta_process(struct ieee80
+               ewma_add(&sta->avg_signal, -status->signal);
+       }
  
 +      if (status->chains) {
 +              sta->chains = status->chains;
  
        memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
  
-@@ -1012,6 +1013,20 @@ static int ath9k_rx_skb_preprocess(struc
-       rx_status->antenna = rx_stats->rs_antenna;
-       rx_status->flag |= RX_FLAG_MACTIME_MPDU;
+@@ -1014,6 +1015,20 @@ static int ath9k_rx_skb_preprocess(struc
+       if (rx_stats->rs_moreaggr)
+               rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
  
 +      for (i = 0, j = 0; i < ARRAY_SIZE(rx_stats->rs_rssi_ctl); i++) {
 +              s8 rssi;
        return 0;
  }
  
-@@ -1542,14 +1557,14 @@ static void ath_ant_comb_scan(struct ath
+@@ -1544,14 +1559,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;
        /* Record packet only when both main_rssi and  alt_rssi is positive */
 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
 +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
-@@ -463,12 +463,12 @@ int ath9k_hw_process_rxdesc_edma(struct 
+@@ -459,12 +459,12 @@ int ath9k_hw_process_rxdesc_edma(struct 
  
        /* XXX: Keycache */
        rxs->rs_rssi = MS(rxsp->status5, AR_RxRSSICombined);