aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/rs.h
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2014-04-06 18:13:22 +0300
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-04-13 16:51:04 +0300
commit87d5e4155c0088e6766b4f0193b63fa0eab71220 (patch)
treef3b085549d06ee7934d2856a2b82b55374bf893b /drivers/net/wireless/iwlwifi/mvm/rs.h
parentiwlwifi: mvm: rs: fix and cleanup rs_get_rate_action (diff)
downloadlinux-dev-87d5e4155c0088e6766b4f0193b63fa0eab71220.tar.xz
linux-dev-87d5e4155c0088e6766b4f0193b63fa0eab71220.zip
iwlwifi: mvm: rs: reinit rs if no tx for a long time
After being idle for a long time (>5sec) the rs statistics will be stale so we prefer to reset rs and start from legacy rates again. This gives better results when the attenuation increased signficantly (e.g. we got further from the AP) and after a while we start Tx Note that the first Tx after the idle period will still go out in the old modulation and rate but this seemed a simpler approach compared to adding a timer or modifying mac80211 for this. The negative impact is negligble as we'll recover quickly. Cc: <stable@vger.kernel.org> [3.14] Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/rs.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.h b/drivers/net/wireless/iwlwifi/mvm/rs.h
index fbb476aadb22..0acfac96a56c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.h
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.h
@@ -311,6 +311,7 @@ struct iwl_lq_sta {
u32 visited_columns; /* Bitmask marking which Tx columns were
* explored during a search cycle
*/
+ u64 last_tx;
bool is_vht;
enum ieee80211_band band;