K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-05T06:11:17.610502Z K 7 svn:log V 1119 Make the default rate choice semi 11n aware. There's a couple of bugs here which I'm trying to fix: * There's a bit of code which marks all larger size bins as having failures if a smaller bin has a failure. * If there's no large packet TX (say I'm doing an iperf TCP test in the opposite direction) then the 1600-byte bins all get marked with both TX failures and _successive_ TX failures. * Thus when it's time to TX a large packet, all the rates are marked as invalid. This commit fixes the first problem - that the default rate selection was simply choosing the highest MCS rate (and thus MCS15 was being used on a two stream NIC) and so things like DHCP may take a few retransmits. It also fixes the problem where all those MCS rates are slowly marked as invalid by failures in small packets; the only rate left over is the base rate (6mbit for 11a). This doesn't fix a related problem - where subsequent TXes doesn't ever probe the higher rates. Because the successive failures exist, those rates aren't ever selected. pick_sample_rate() should be trying those after a while - 10 seconds by default. END