svn commit: r242528 - head/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Sat Nov 3 22:13:43 UTC 2012
Author: adrian
Date: Sat Nov 3 22:13:42 2012
New Revision: 242528
URL: http://svn.freebsd.org/changeset/base/242528
Log:
For AR9380 NICs - the non-enterprise versions don't support RTS protection
of small (< 256 byte) aggregate frames.
This needs to be done or 11n aggregation TX just simply doesn't work
on these NICs.
Whilst here, extend some debug printing; I was using this whilst
debugging the TX power setup in the TX descriptor(s) on the AR9380.
Modified:
head/sys/dev/ath/if_ath_tx_ht.c
Modified: head/sys/dev/ath/if_ath_tx_ht.c
==============================================================================
--- head/sys/dev/ath/if_ath_tx_ht.c Sat Nov 3 22:12:35 2012 (r242527)
+++ head/sys/dev/ath/if_ath_tx_ht.c Sat Nov 3 22:13:42 2012 (r242528)
@@ -349,6 +349,14 @@ ath_compute_num_delims(struct ath_softc
*/
ndelim += ATH_AGGR_ENCRYPTDELIM;
+ /*
+ * For AR9380, there's a minimum number of delimeters
+ * required when doing RTS.
+ */
+ if (sc->sc_use_ent && (sc->sc_ent_cfg & AH_ENT_RTSCTS_DELIM_WAR)
+ && ndelim < AH_FIRST_DESC_NDELIMS)
+ ndelim = AH_FIRST_DESC_NDELIMS;
+
DPRINTF(sc, ATH_DEBUG_SW_TX_AGGR,
"%s: pktlen=%d, ndelim=%d, mpdudensity=%d\n",
__func__, pktlen, ndelim, mpdudensity);
@@ -542,12 +550,13 @@ ath_rateseries_print(struct ath_softc *s
int i;
for (i = 0; i < ATH_RC_NUM; i++) {
device_printf(sc->sc_dev ,"series %d: rate %x; tries %d; "
- "pktDuration %d; chSel %d; rateFlags %x\n",
+ "pktDuration %d; chSel %d; txpowcap %d, rateFlags %x\n",
i,
series[i].Rate,
series[i].Tries,
series[i].PktDuration,
series[i].ChSel,
+ series[i].tx_power_cap,
series[i].RateFlags);
}
}
@@ -577,7 +586,6 @@ ath_buf_set_rate(struct ath_softc *sc, s
ath_rateseries_setup(sc, ni, bf, series);
#if 0
- printf("pktlen: %d; flags 0x%x\n", pktlen, flags);
ath_rateseries_print(sc, series);
#endif
More information about the svn-src-all
mailing list