3 @@ -2723,6 +2723,9 @@ ar_device(int devid)
5 ath_set_ack_bitrate(struct ath_softc *sc, int high)
7 + if (!sc->sc_ackrate_override)
10 if (ar_device(sc->devid) == 5212 || ar_device(sc->devid) == 5213) {
11 /* set ack to be sent at low bit-rate */
12 /* registers taken from the OpenBSD 5212 HAL */
13 @@ -10791,8 +10794,13 @@ ATH_SYSCTL_DECL(ath_sysctl_halparam, ctl
17 - sc->sc_ackrate = val;
18 - ath_set_ack_bitrate(sc, sc->sc_ackrate);
20 + sc->sc_ackrate_override = 0;
22 + sc->sc_ackrate_override = 1;
23 + sc->sc_ackrate = val;
24 + ath_set_ack_bitrate(sc, sc->sc_ackrate);
31 @@ -681,6 +681,7 @@ struct ath_softc {
32 unsigned int sc_devstopped:1; /* stopped due to of no tx bufs */
33 unsigned int sc_stagbeacons:1; /* use staggered beacons */
34 unsigned int sc_dfswait:1; /* waiting on channel for radar detect */
35 + unsigned int sc_ackrate_override:1; /* override ack rate */
36 unsigned int sc_ackrate:1; /* send acks at high bitrate */
37 unsigned int sc_dfs_cac:1; /* waiting on channel for radar detect */
38 unsigned int sc_hasintmit:1; /* Interference mitigation */