ath9k: fix passing MAC time to mac80211

SVN-Revision: 30869
This commit is contained in:
Felix Fietkau 2012-03-10 13:31:27 +00:00
parent 3de99d0c4d
commit f029ef0b81
2 changed files with 23 additions and 5 deletions

View File

@ -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_

View File

@ -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;