ath9k: fix passing MAC time to mac80211
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 10 Mar 2012 13:31:27 +0000 (13:31 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 10 Mar 2012 13:31:27 +0000 (13:31 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30869 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index 4eb0a3f..0ca6a02 100644 (file)
  }
  
  /*
-@@ -1011,6 +1010,8 @@ static int ath9k_rx_skb_preprocess(struc
+@@ -988,8 +987,6 @@ static int ath9k_rx_skb_preprocess(struc
+ {
+       struct ath_hw *ah = common->ah;
+-      memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
+-
+       /*
+        * everything but the rate is checked here, the rate check is done
+        * separately to avoid doing two lookups for a rate for each frame.
+@@ -1011,6 +1008,8 @@ static int ath9k_rx_skb_preprocess(struc
        rx_status->signal = ah->noise + rx_stats->rs_rssi;
        rx_status->antenna = rx_stats->rs_antenna;
        rx_status->flag |= RX_FLAG_MACTIME_MPDU;
  
        return 0;
  }
+@@ -1845,6 +1844,8 @@ int ath_rx_tasklet(struct ath_softc *sc,
+               if (sc->sc_flags & SC_OP_RXFLUSH)
+                       goto requeue_drop_frag;
++              memset(rxs, 0, sizeof(struct ieee80211_rx_status));
++
+               rxs->mactime = (tsf & ~0xffffffffULL) | rs.rs_tstamp;
+               if (rs.rs_tstamp > tsf_lower &&
+                   unlikely(rs.rs_tstamp - tsf_lower > 0x10000000))
 --- a/drivers/net/wireless/ath/ath9k/beacon.c
 +++ b/drivers/net/wireless/ath/ath9k/beacon.c
 @@ -91,7 +91,7 @@ static void ath_beacon_setup(struct ath_
index 5842e5d..47cc252 100644 (file)
        struct ath_hw *ah = common->ah;
 +      int i, j;
  
-       memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
-@@ -1013,6 +1014,20 @@ static int ath9k_rx_skb_preprocess(struc
+       /*
+        * everything but the rate is checked here, the rate check is done
+@@ -1011,6 +1012,20 @@ static int ath9k_rx_skb_preprocess(struc
        if (rx_stats->rs_moreaggr)
                rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
  
        return 0;
  }
  
-@@ -1543,14 +1558,14 @@ static void ath_ant_comb_scan(struct ath
+@@ -1541,14 +1556,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;