From e690881d079b342e8a8143747690cc503e862dc1 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 10 Mar 2012 13:31:27 +0000 Subject: [PATCH] ath9k: fix passing MAC time to mac80211 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30869 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../mac80211/patches/300-pending_work.patch | 20 ++++++++++++++++++- .../550-ath9k_per_chain_signal_strength.patch | 8 ++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index 4eb0a3f14..0ca6a02b5 100644 --- a/package/mac80211/patches/300-pending_work.patch +++ b/package/mac80211/patches/300-pending_work.patch @@ -1498,7 +1498,16 @@ } /* -@@ -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; @@ -1507,6 +1516,15 @@ 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_ diff --git a/package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch b/package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch index 5842e5d0f..47cc252e8 100644 --- a/package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch +++ b/package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch @@ -145,9 +145,9 @@ 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; @@ -168,7 +168,7 @@ 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; -- 2.20.1