ath: adapt LDPC support checks

Set both IEEE80211_HTCAP_LDPC and IEEE80211_HTC_TXLDPC capability flags
if LDPC is supported + set 'do_ldpc = 1' only when it is not disabled,
not just supported.

Reviewed by:	adrian
Differential Revision:	https://reviews.freebsd.org/D9277
This commit is contained in:
Andriy Voskoboinyk 2017-01-21 21:03:26 +00:00
parent eaf0969bda
commit 8f1e113906
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=312607
2 changed files with 3 additions and 2 deletions

View File

@ -1178,7 +1178,8 @@ ath_attach(u_int16_t devid, struct ath_softc *sc)
sc->sc_has_ldpc = 1;
device_printf(sc->sc_dev,
"[HT] LDPC transmit/receive enabled\n");
ic->ic_htcaps |= IEEE80211_HTCAP_LDPC;
ic->ic_htcaps |= IEEE80211_HTCAP_LDPC |
IEEE80211_HTC_TXLDPC;
}

View File

@ -239,7 +239,7 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf)
* it if any of the rate entries aren't 11n.
*/
do_ldpc = 0;
if ((ni->ni_vap->iv_htcaps & IEEE80211_HTCAP_LDPC) &&
if ((ni->ni_vap->iv_flags_ht & IEEE80211_FHT_LDPC_TX) &&
(ni->ni_htcap & IEEE80211_HTCAP_LDPC))
do_ldpc = 1;