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