summaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches-r3776/312-ack_cts_rate.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-07-17 02:30:08 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-07-17 02:30:08 +0000
commit613e530afeab2eb78d7b4100420fd305662beab1 (patch)
tree547d05d8319b3931a4fa1e5b1a5cbd543af52361 /package/madwifi/patches-r3776/312-ack_cts_rate.patch
parent0e9ca337996b5b4ef392bc92cde7f4bc9699b3ea (diff)
huge madwifi update (work in progress, disabled by default, compiles but breaks at run time)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11851 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/patches-r3776/312-ack_cts_rate.patch')
-rw-r--r--package/madwifi/patches-r3776/312-ack_cts_rate.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/package/madwifi/patches-r3776/312-ack_cts_rate.patch b/package/madwifi/patches-r3776/312-ack_cts_rate.patch
new file mode 100644
index 000000000..3f172ca0b
--- /dev/null
+++ b/package/madwifi/patches-r3776/312-ack_cts_rate.patch
@@ -0,0 +1,46 @@
+Index: madwifi-trunk-r3776/ath/if_ath.c
+===================================================================
+--- madwifi-trunk-r3776.orig/ath/if_ath.c 2008-07-17 02:37:41.000000000 +0200
++++ madwifi-trunk-r3776/ath/if_ath.c 2008-07-17 03:04:02.000000000 +0200
+@@ -10889,8 +10889,13 @@
+ break;
+ #endif
+ case ATH_ACKRATE:
+- sc->sc_ackrate = val;
+- ath_set_ack_bitrate(sc, sc->sc_ackrate);
++ if (val == -1)
++ sc->sc_ackrate_override = 0;
++ else {
++ sc->sc_ackrate_override = 1;
++ sc->sc_ackrate = val;
++ ath_set_ack_bitrate(sc, sc->sc_ackrate);
++ }
+ break;
+ case ATH_RP:
+ ath_rp_record(sc,
+Index: madwifi-trunk-r3776/ath/if_athvar.h
+===================================================================
+--- madwifi-trunk-r3776.orig/ath/if_athvar.h 2008-07-17 02:37:41.000000000 +0200
++++ madwifi-trunk-r3776/ath/if_athvar.h 2008-07-17 03:04:02.000000000 +0200
+@@ -698,6 +698,7 @@
+ unsigned int sc_hasclrkey:1; /* CLR key supported */
+ unsigned int sc_stagbeacons:1; /* use staggered beacons */
+ unsigned int sc_dfswait:1; /* waiting on channel for radar detect */
++ unsigned int sc_ackrate_override:1; /* override ack rate */
+ unsigned int sc_ackrate:1; /* send acks at high bitrate */
+ unsigned int sc_dfs_cac:1; /* waiting on channel for radar detect */
+ unsigned int sc_hasintmit:1; /* Interference mitigation */
+Index: madwifi-trunk-r3776/ath/if_ath_hal_extensions.c
+===================================================================
+--- madwifi-trunk-r3776.orig/ath/if_ath_hal_extensions.c 2008-07-17 00:21:39.000000000 +0200
++++ madwifi-trunk-r3776/ath/if_ath_hal_extensions.c 2008-07-17 03:04:48.000000000 +0200
+@@ -129,6 +129,9 @@
+ int
+ ath_set_ack_bitrate(struct ath_softc *sc, int high)
+ {
++ if (!sc->sc_ackrate_override)
++ return 0;
++
+ if (ar_device(sc->devid) == 5212 || ar_device(sc->devid) == 5213) {
+ /* set ack to be sent at low bit-rate */
+ u_int32_t v = AR5K_STA_ID1_BASE_RATE_11B | AR5K_STA_ID1_ACKCTS_6MB;