On Thu, 2010-10-14 at 22:21 -0700, Paul Stewart wrote: > On Thu, Oct 14, 2010 at 2:40 PM, Paul Stewart <pstew@xxxxxxxxxx> wrote: > > + if (mcs_rate_table_cache[mcs] == 0) { > > + modulation = mcs & 7; > > + streams = (mcs >> 3) + 1; > > + base_rate = (rate_ptr->flags & IEEE80211_TX_RC_40_MHZ_WIDTH) ? > > + 13500000 : 6500000; > > + gi_div = (rate_ptr->flags & IEEE80211_TX_RC_SHORT_GI) ? 9 : 10; > > + rate_val = base_rate * mod_table[modulation] * streams / gi_div; > > + mcs_rate_table_cache[mcs] = (rate_val + 5000) / 10000; > > + } > > + > > + return mcs_rate_table_cache[mcs] * 100; > > +} > > Um, that doesn't work right. The cache needs to be 4 times as big to > account for account from 40MHZ and SHORT_GI. I'll send a revised > version of this tomorrow. Can't you just precalculate it anyway? Like at compile time? johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html