diff options
author | adrian <adrian@FreeBSD.org> | 2012-04-07 02:51:53 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-04-07 02:51:53 +0000 |
commit | 17c1a9e4d5f967c74c9cabe8abc58f29af44b433 (patch) | |
tree | d2f4a99c40ad824a887261c7f358fcb422feda5d /sys/dev/ath/if_ath.c | |
parent | 8e4ce17ba282f8053da77cd6821d84eff3614cba (diff) | |
download | FreeBSD-src-17c1a9e4d5f967c74c9cabe8abc58f29af44b433.zip FreeBSD-src-17c1a9e4d5f967c74c9cabe8abc58f29af44b433.tar.gz |
Store away the RTS aggregate limit from the HAL.
This will be used by some upcoming code to ensure that aggregates
are enforced to be a certain size. The AR5416 has a limitation on
RTS protected aggregates (8KiB).
Diffstat (limited to 'sys/dev/ath/if_ath.c')
-rw-r--r-- | sys/dev/ath/if_ath.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 3866ba1..9e1625b 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -732,6 +732,13 @@ ath_attach(u_int16_t devid, struct ath_softc *sc) ic->ic_txstream = txs; ic->ic_rxstream = rxs; + (void) ath_hal_getcapability(ah, HAL_CAP_RTS_AGGR_LIMIT, 1, + &sc->sc_rts_aggr_limit); + if (sc->sc_rts_aggr_limit != (64 * 1024)) + device_printf(sc->sc_dev, + "[HT] RTS aggregates limited to %d KiB\n", + sc->sc_rts_aggr_limit / 1024); + device_printf(sc->sc_dev, "[HT] %d RX streams; %d TX streams\n", rxs, txs); } |