|
@@ -927,7 +927,6 @@ void ath9k_host_rx_init(struct ath9k_htc_priv *priv)
|
|
|
ath9k_hw_rxena(priv->ah);
|
|
|
ath9k_htc_opmode_init(priv);
|
|
|
ath9k_hw_startpcureceive(priv->ah, test_bit(OP_SCANNING, &priv->op_flags));
|
|
|
- priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER;
|
|
|
}
|
|
|
|
|
|
static void ath9k_process_rate(struct ieee80211_hw *hw,
|
|
@@ -1011,7 +1010,6 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
|
|
|
struct ath_htc_rx_status *rxstatus;
|
|
|
struct ath_rx_status rx_stats;
|
|
|
int hdrlen, padsize;
|
|
|
- int last_rssi = ATH_RSSI_DUMMY_MARKER;
|
|
|
__le16 fc;
|
|
|
|
|
|
if (skb->len < HTC_RX_FRAME_HEADER_SIZE) {
|
|
@@ -1104,24 +1102,9 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
|
|
|
ath9k_process_rate(hw, rx_status, rxbuf->rxstatus.rs_rate,
|
|
|
rxbuf->rxstatus.rs_flags);
|
|
|
|
|
|
- if (rxbuf->rxstatus.rs_rssi != ATH9K_RSSI_BAD &&
|
|
|
- !rxbuf->rxstatus.rs_moreaggr)
|
|
|
- ATH_RSSI_LPF(priv->rx.last_rssi,
|
|
|
- rxbuf->rxstatus.rs_rssi);
|
|
|
|
|
|
- last_rssi = priv->rx.last_rssi;
|
|
|
-
|
|
|
- if (ath_is_mybeacon(common, hdr)) {
|
|
|
- s8 rssi = rxbuf->rxstatus.rs_rssi;
|
|
|
-
|
|
|
- if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER))
|
|
|
- rssi = ATH_EP_RND(last_rssi, ATH_RSSI_EP_MULTIPLIER);
|
|
|
-
|
|
|
- if (rssi < 0)
|
|
|
- rssi = 0;
|
|
|
-
|
|
|
- priv->ah->stats.avgbrssi = rssi;
|
|
|
- }
|
|
|
+ rx_stats.is_mybeacon = ath_is_mybeacon(common, hdr);
|
|
|
+ ath9k_cmn_process_rssi(common, hw, &rx_stats, rx_status);
|
|
|
|
|
|
rx_status->mactime = be64_to_cpu(rxbuf->rxstatus.rs_tstamp);
|
|
|
rx_status->band = hw->conf.chandef.chan->band;
|