diff options
author | bschmidt <bschmidt@FreeBSD.org> | 2011-04-09 14:45:50 +0000 |
---|---|---|
committer | bschmidt <bschmidt@FreeBSD.org> | 2011-04-09 14:45:50 +0000 |
commit | 153b81554cb794fe75370f094f6cd8c6c52fa7d2 (patch) | |
tree | 973b55cef9d863e2c37af2e803d986eda07e9065 /sys/dev/ral/rt2661.c | |
parent | 7c133a7cf35fb94b265126882dca7bea40c91bee (diff) | |
download | FreeBSD-src-153b81554cb794fe75370f094f6cd8c6c52fa7d2.zip FreeBSD-src-153b81554cb794fe75370f094f6cd8c6c52fa7d2.tar.gz |
Don't hardcode assumptions about basic rates, similar to what the rt2661
support code does. While here remove an unnecessary loop.
Diffstat (limited to 'sys/dev/ral/rt2661.c')
-rw-r--r-- | sys/dev/ral/rt2661.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/dev/ral/rt2661.c b/sys/dev/ral/rt2661.c index 2d51dc2..372fcff 100644 --- a/sys/dev/ral/rt2661.c +++ b/sys/dev/ral/rt2661.c @@ -1915,7 +1915,7 @@ rt2661_set_basicrates(struct rt2661_softc *sc, struct ieee80211com *ic = ifp->if_l2com; uint32_t mask = 0; uint8_t rate; - int i, j; + int i; for (i = 0; i < rs->rs_nrates; i++) { rate = rs->rs_rates[i]; @@ -1923,13 +1923,7 @@ rt2661_set_basicrates(struct rt2661_softc *sc, if (!(rate & IEEE80211_RATE_BASIC)) continue; - /* - * Find h/w rate index. We know it exists because the rate - * set has already been negotiated. - */ - for (j = 0; ic->ic_sup_rates[IEEE80211_MODE_11G].rs_rates[j] != RV(rate); j++); - - mask |= 1 << j; + mask |= 1 << ic->ic_rt->rateCodeToIndex[RV(rate)]; } RAL_WRITE(sc, RT2661_TXRX_CSR5, mask); |