Hi,
With the current design, occasionally we are seeing issues
where minstrel sends 3x3 rates for our 2x2 chip.
IMHO, couple of things can cause this
1) update_caps doesn't take local HW capabilities in to account
2) While calculating sample_idx, we use MCS_GROUP_RATES
which can cause a sampling hole.
For eg: if sample_idx: 78, group will be 7 it is HT
so rate_idx will be : 8 + (2-1) * 8 = 16 = 3x3 MCS0 20 MHz.
ideally we should add
a) local hw_checks and update groups.supported accordingly.
b) use the formula index % get_max_group_rates (or) replace all
instances of MCS_GROUP_RATES for HT with 8.
(in set_rate, get_sampling_rate etc..)
--
Thanks,
Regards,
Chaitanya T K.