mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-29 04:54:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/ath/if_ath.c
 | |
| +++ b/ath/if_ath.c
 | |
| @@ -10276,11 +10276,11 @@ ath_setcurmode(struct ath_softc *sc, enu
 | |
|  	sc->sc_currates = rt;
 | |
|  	sc->sc_curmode = mode;
 | |
|  	/*
 | |
| -	 * All protection frames are transmitted at 2Mb/s for
 | |
| -	 * 11g, otherwise at 1Mb/s.
 | |
| +	 * All protection frames are transmitted at 11Mb/s for
 | |
| +	 * 11g, otherwise at 2Mb/s.
 | |
|  	 * XXX select protection rate index from rate table.
 | |
|  	 */
 | |
| -	sc->sc_protrix = (mode == IEEE80211_MODE_11G ? 1 : 0);
 | |
| +	sc->sc_protrix = (mode == IEEE80211_MODE_11G ? 3 : 1);
 | |
|  	/* rate index used to send mgt frames */
 | |
|  	sc->sc_minrateix = 0;
 | |
|  }
 | |
| --- a/ath/if_athvar.h
 | |
| +++ b/ath/if_athvar.h
 | |
| @@ -272,6 +272,10 @@ static inline struct net_device *_alloc_
 | |
|  #define AES_ICV_FIELD_SIZE      8       /* AES ICV field size */
 | |
|  #define EXT_IV_FIELD_SIZE       4       /* ext IV field size */
 | |
|  
 | |
| +/* This is what the HAL uses by default for 11a+g */
 | |
| +#define ATH_DEFAULT_CWMIN	15
 | |
| +#define ATH_DEFAULT_CWMAX	1023
 | |
| +
 | |
|  /* XR specific macros */
 | |
|  
 | |
|  #define XR_DEFAULT_GRPPOLL_RATE_STR 	"0.25 1 1 3 3 6 6 20"
 | |
| --- a/ath_rate/minstrel/minstrel.c
 | |
| +++ b/ath_rate/minstrel/minstrel.c
 | |
| @@ -197,7 +197,7 @@ calc_usecs_unicast_packet(struct ath_sof
 | |
|  		unsigned int x = 0, tt = 0;
 | |
|  		unsigned int cix = rt->info[rix].controlRate;
 | |
|  		int rts = 0, cts = 0;
 | |
| -		int cw = WIFI_CW_MIN;
 | |
| +		int cw = ATH_DEFAULT_CWMIN;
 | |
|  
 | |
|  		KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
 | |
|  
 | |
| @@ -281,7 +281,7 @@ calc_usecs_unicast_packet(struct ath_sof
 | |
|  		tt += (long_retries + 1) * ath_hal_computetxtime(sc->sc_ah, rt, length,
 | |
|  							rix, AH_TRUE);
 | |
|  		for (x = 0; x <= short_retries + long_retries; x++) {
 | |
| -			cw = MIN(WIFI_CW_MAX, (cw + 1) * 2);
 | |
| +			cw = MIN(ATH_DEFAULT_CWMAX, (cw + 1) * 2);
 | |
|  			tt += (t_slot * cw / 2);
 | |
|  		}
 | |
|  		return tt;
 | |
| --- a/ath_rate/minstrel/minstrel.h
 | |
| +++ b/ath_rate/minstrel/minstrel.h
 | |
| @@ -180,14 +180,6 @@ struct minstrel_node {
 | |
|  #define MAX(a,b)        ((a) > (b) ? (a) : (b))
 | |
|  #endif
 | |
|  
 | |
| -#if 0
 | |
| -#define WIFI_CW_MIN 31
 | |
| -#define WIFI_CW_MAX 1023
 | |
| -#else
 | |
| -#define WIFI_CW_MIN 3
 | |
| -#define WIFI_CW_MAX 10
 | |
| -#endif
 | |
| -
 | |
|  /*
 | |
|   * Definitions for pulling the rate and trie counts from
 | |
|   * a 5212 h/w descriptor. These Don't belong here; the
 | |
| --- a/ath_rate/sample/sample.c
 | |
| +++ b/ath_rate/sample/sample.c
 | |
| @@ -170,7 +170,7 @@ calc_usecs_unicast_packet(struct ath_sof
 | |
|  	struct ieee80211com *ic = &sc->sc_ic;
 | |
|  	unsigned int tt = 0;
 | |
|  	unsigned int x;
 | |
| -	unsigned int cw = WIFI_CW_MIN;
 | |
| +	unsigned int cw = ATH_DEFAULT_CWMIN;
 | |
|  	unsigned int cix = rt->info[rix].controlRate;
 | |
|  	KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
 | |
|  
 | |
| @@ -254,7 +254,7 @@ calc_usecs_unicast_packet(struct ath_sof
 | |
|  	tt += (long_retries+1)*ath_hal_computetxtime(sc->sc_ah, rt, length,
 | |
|  						rix, AH_TRUE);
 | |
|  	for (x = 0; x <= short_retries + long_retries; x++) {
 | |
| -		cw = MIN(WIFI_CW_MAX, (cw + 1) * 2);
 | |
| +		cw = MIN(ATH_DEFAULT_CWMAX, (cw + 1) * 2);
 | |
|  		tt += (t_slot * cw / 2);
 | |
|  	}
 | |
|  	return tt;
 | |
| --- a/ath_rate/sample/sample.h
 | |
| +++ b/ath_rate/sample/sample.h
 | |
| @@ -106,9 +106,6 @@ struct sample_node {
 | |
|  #define MAX(a,b)        ((a) > (b) ? (a) : (b))
 | |
|  #endif
 | |
|  
 | |
| -#define WIFI_CW_MIN 31
 | |
| -#define WIFI_CW_MAX 1023
 | |
| -
 | |
|  /*
 | |
|   * Definitions for pulling the rate and trie counts from
 | |
|   * a 5212 h/w descriptor. These Don't belong here; the
 |