iwlwifi: mvm: rs: fix getting stuck in a test window
authorEyal Shapira <eyal@wizery.com>
Wed, 5 Nov 2014 10:03:59 +0000 (12:03 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 11 Nov 2014 15:15:05 +0000 (17:15 +0200)
commit26a2cc016f59839afb665ab29c7a40b91bcedf42
tree33d2386d7e314223abb6991d0e5b9aeaecb669f1
parentf4cf8680dfa42c80476a9cc5b90f933b12cf6d29
iwlwifi: mvm: rs: fix getting stuck in a test window

When Tx STBC is being used and RS switches to a search column
using the alternate antenna from the current one there is a
problem with using rs_rate_match to figure out which table
is the active and which one is the search one. The root cause
is because in STBC the antenna mask in the ucode rate is set
to ANT_AB and in this specific scenario it matches both the
active and search table (e.g. SISO_ANT_A and SISO_ANT_B).
This leads to tx stats being updated in the wrong table and later
on to getting stuck in a test window and not moving on to other
columns. If this happens during the initial search cycle we
never end it and therefore never enable aggregation which leads
naturally to severe througput degradation.
Fix it by deducing which table is which by knowing whether we're
in a search or not like it's being done in rs_rate_scale_perform

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/rs.c