Am Freitag 04 Juni 2010 schrieb Johannes Berg: > On Fri, 2010-06-04 at 12:22 +0200, Helmut Schaa wrote: > > > This meant that minstrel most of the time selected MCS15 as tx rate which > > resulted in a huge number of retries and thus a very slow throughput. > > > > status.c: > > > > 178 /* the HW cannot have attempted that rate */ > > 179 if (i >= hw->max_rates) { > > 180 info->status.rates[i].idx = -1; > > 181 info->status.rates[i].count = 0; > > > > Johannes, is there a valid reason for this check in status.c. Can we remove > > it without breaking anything else? > > IIRC there were/are some drivers that were not terminating the rates[] > array correctly with a -1, thus this code. Understood, so it's a driver workaround ;) Maybe we should check which driver doesn't set it and fix these? > > What other options would we have to fix this issue? Just use max_rates = 4 > > in rt2800 even if we will only use the first rate provided by minstrel and > > then fall back to the global fallback setup (I tried that already and it > > works just fine but seems not correct to me)? > > p54 kinda does some trickery in this area too, not really sure what to > do though. Thanks for the pointer, p54 just sets max_rates=4 even if it cannot support it. So, if you would like to keep the check I'll just use max_rates=4 in rt2800. Helmut -- 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