aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-03-10 13:31:27 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-03-10 13:31:27 +0000
commitf029ef0b81ef1ce936914418f4508b56b8c6f255 (patch)
treea8008d8d0f6fa6152ecf680932b256b6a468e088
parent3de99d0c4d540debebcd9d024a3b822f2d6c5f8b (diff)
downloadupstream-f029ef0b81ef1ce936914418f4508b56b8c6f255.tar.gz
upstream-f029ef0b81ef1ce936914418f4508b56b8c6f255.tar.bz2
upstream-f029ef0b81ef1ce936914418f4508b56b8c6f255.zip
ath9k: fix passing MAC time to mac80211
SVN-Revision: 30869
-rw-r--r--package/mac80211/patches/300-pending_work.patch20
-rw-r--r--package/mac80211/patches/550-ath9k_per_chain_signal_strength.patch8
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 4eb0a3f14e..0ca6a02b5f 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 5842e5d0f9..47cc252e84 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;