mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/drivers/net/wireless/ath/ath9k/recv.c
 | |
| +++ b/drivers/net/wireless/ath/ath9k/recv.c
 | |
| @@ -954,6 +954,7 @@ static void ath9k_process_rssi(struct at
 | |
|  	struct ath_softc *sc = hw->priv;
 | |
|  	struct ath_hw *ah = common->ah;
 | |
|  	int last_rssi;
 | |
| +	int rssi = rx_stats->rs_rssi;
 | |
|  
 | |
|  	if (!rx_stats->is_mybeacon ||
 | |
|  	    ((ah->opmode != NL80211_IFTYPE_STATION) &&
 | |
| @@ -965,13 +966,12 @@ static void ath9k_process_rssi(struct at
 | |
|  
 | |
|  	last_rssi = sc->last_rssi;
 | |
|  	if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER))
 | |
| -		rx_stats->rs_rssi = ATH_EP_RND(last_rssi,
 | |
| -					      ATH_RSSI_EP_MULTIPLIER);
 | |
| -	if (rx_stats->rs_rssi < 0)
 | |
| -		rx_stats->rs_rssi = 0;
 | |
| +		rssi = ATH_EP_RND(last_rssi, ATH_RSSI_EP_MULTIPLIER);
 | |
| +	if (rssi < 0)
 | |
| +		rssi = 0;
 | |
|  
 | |
|  	/* Update Beacon RSSI, this is used by ANI. */
 | |
| -	ah->stats.avgbrssi = rx_stats->rs_rssi;
 | |
| +	ah->stats.avgbrssi = rssi;
 | |
|  }
 | |
|  
 | |
|  /*
 | |
| @@ -1012,6 +1012,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;
 | |
| +	if (rx_stats->rs_moreaggr)
 | |
| +		rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
 | |
|  
 | |
|  	for (i = 0, j = 0; i < ARRAY_SIZE(rx_stats->rs_rssi_ctl); i++) {
 | |
|  		s8 rssi;
 |