svn commit: r219588 - head/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Sun Mar 13 08:23:59 UTC 2011
Author: adrian
Date: Sun Mar 13 08:23:59 2011
New Revision: 219588
URL: http://svn.freebsd.org/changeset/base/219588
Log:
The number of streams is not based on the interface stream count, but the
number of streams needed for that MCS rate.
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 Sun Mar 13 08:22:46 2011 (r219587)
+++ head/sys/dev/ath/if_ath_tx_ht.c Sun Mar 13 08:23:59 2011 (r219588)
@@ -98,6 +98,7 @@ ath_rateseries_setup(struct ath_softc *s
HAL_11N_RATE_SERIES *series, unsigned int pktlen, uint8_t *rix,
uint8_t *try, int flags)
{
+#define HT_RC_2_STREAMS(_rc) ((((_rc) & 0x78) >> 3) + 1)
struct ieee80211com *ic = ni->ni_ic;
struct ath_hal *ah = sc->sc_ah;
HAL_BOOL shortPreamble = AH_FALSE;
@@ -151,14 +152,15 @@ ath_rateseries_setup(struct ath_softc *s
series[i].PktDuration =
ath_computedur_ht(pktlen
, series[i].Rate
- , ic->ic_txstream
- , 0 /* disable 20/40 for now */
+ , HT_RC_2_STREAMS(series[i].Rate)
+ , series[i].RateFlags & HAL_RATESERIES_2040
, series[i].RateFlags & HAL_RATESERIES_HALFGI);
} else {
series[i].PktDuration = ath_hal_computetxtime(ah,
rt, pktlen, rix[i], shortPreamble);
}
}
+#undef HT_RC_2_STREAMS
}
#if 0
More information about the svn-src-all
mailing list