diff options
author | adrian <adrian@FreeBSD.org> | 2016-04-26 01:34:21 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2016-04-26 01:34:21 +0000 |
commit | 4df8bc5383a0fc549716f386d3b5b25e235ab95a (patch) | |
tree | 151ce548f6aad065ba246e4fa0707fad63d04d87 | |
parent | 3807945a67cc2ad93ba386e2699e0eae27a84bcd (diff) | |
download | FreeBSD-src-4df8bc5383a0fc549716f386d3b5b25e235ab95a.zip FreeBSD-src-4df8bc5383a0fc549716f386d3b5b25e235ab95a.tar.gz |
[ath] obey the STBC flag setting in iv_flags_ht
Add support for the FHT_STBC_TX flag in iv_flags_ht, so it'll now obey
the per-vap ifconfig stbctx flag.
This means that we can do STBC TX on one vap and not another VAP.
(As well as STBC RX on said vap; that changes the HTCAP announcement.)
-rw-r--r-- | sys/dev/ath/if_ath_tx_ht.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index af0f779..a20607e 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -272,8 +272,11 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) * can receive (at least) 1 stream STBC, AND it's * MCS 0-7, AND we have at least two chains enabled, * enable STBC. + * + * XXX TODO: .. and the rate is an 11n rate? */ if (ic->ic_htcaps & IEEE80211_HTCAP_TXSTBC && + ni->ni_vap->iv_flags_ht & IEEE80211_FHT_STBC_TX && ni->ni_htcap & IEEE80211_HTCAP_RXSTBC_1STREAM && (sc->sc_cur_txchainmask > 1) && HT_RC_2_STREAMS(rate) == 1) { @@ -281,10 +284,6 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) } /* - * XXX TODO: LDPC - */ - - /* * Dual / Triple stream rate? */ if (HT_RC_2_STREAMS(rate) == 2) @@ -565,6 +564,12 @@ ath_rateseries_setup(struct ath_softc *sc, struct ieee80211_node *ni, } /* + * TODO: If we're all doing 11n rates then we can set LDPC. + * If we've been asked to /do/ LDPC but we are handed a + * legacy rate, then we should complain. Loudly. + */ + + /* * PktDuration doesn't include slot, ACK, RTS, etc timing - * it's just the packet duration */ |