mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/ath/if_ath.c
 | 
						|
+++ b/ath/if_ath.c
 | 
						|
@@ -10265,11 +10265,11 @@
 | 
						|
 	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 @@
 | 
						|
 #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 @@
 | 
						|
 		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 @@
 | 
						|
 		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 @@
 | 
						|
 #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 @@
 | 
						|
 	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 @@
 | 
						|
 	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 @@
 | 
						|
 #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
 |