diff options
author | adrian <adrian@FreeBSD.org> | 2013-08-08 05:52:41 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-08-08 05:52:41 +0000 |
commit | 3024a234e9051e9331e2728ba554e1f28ba85d26 (patch) | |
tree | 8e62e97efdf169c3adadf38438ba41e21cf8cef4 /sys/dev | |
parent | aa68907edaaef774817c1bf625fa8ca0424f4e84 (diff) | |
download | FreeBSD-src-3024a234e9051e9331e2728ba554e1f28ba85d26.zip FreeBSD-src-3024a234e9051e9331e2728ba554e1f28ba85d26.tar.gz |
Cap the number of streams supported to two for now.
I haven't yet reviewed the Intel driver(s) in more depth to see if
there are 1x1 NICs that report they support 2 transmit/receive chains..
if so then we'll have to update this.
Tested:
* Intel 4965, which is a 2x2 device with 3 RX and 2 TX chains.
PR: kern/181132
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/iwn/if_iwn.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index faf7ec6..5b4511e 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -638,6 +638,20 @@ iwn_attach(device_t dev) if (sc->sc_flags & IWN_FLAG_HAS_11N) { ic->ic_rxstream = sc->nrxchains; ic->ic_txstream = sc->ntxchains; + + /* + * The NICs we currently support cap out at 2x2 support + * separate from the chains being used. + * + * This is a total hack to work around that until some + * per-device method is implemented to return the + * actual stream support. + */ + if (ic->ic_rxstream > 2) + ic->ic_rxstream = 2; + if (ic->ic_txstream > 2) + ic->ic_txstream = 2; + ic->ic_htcaps = IEEE80211_HTCAP_SMPS_OFF /* SMPS mode disabled */ | IEEE80211_HTCAP_SHORTGI20 /* short GI in 20MHz */ |