This is a note to let you know that I've just added the patch titled

    iwlwifi: add rs_rate_scale_clear_tbl_windows helper function

to the 3.14-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     iwlwifi-add-rs_rate_scale_clear_tbl_windows-helper-function.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From [email protected]  Wed Jun  4 16:13:16 2014
From: Emmanuel Grumbach <[email protected]>
Date: Wed,  4 Jun 2014 21:58:00 +0300
Subject: iwlwifi: add rs_rate_scale_clear_tbl_windows helper function
To: [email protected]
Cc: Eliad Peller <[email protected]>, Eliad Peller <[email protected]>, 
Emmanuel Grumbach <[email protected]>
Message-ID: <[email protected]>

From: Eliad Peller <[email protected]>

commit 3ca71f603bb1a0f55e1ba24618ba45617bc36f70 upstream.

instead of duplicating the same loop multiple times,
use a new function for it.

this will be later used also for clearing other
windows in the table.

Signed-off-by: Eliad Peller <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/net/wireless/iwlwifi/mvm/rs.c |   23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -519,6 +519,14 @@ static void rs_rate_scale_clear_window(s
        window->average_tpt = IWL_INVALID_VALUE;
 }
 
+static void rs_rate_scale_clear_tbl_windows(struct iwl_scale_tbl_info *tbl)
+{
+       int i;
+
+       for (i = 0; i < IWL_RATE_COUNT; i++)
+               rs_rate_scale_clear_window(&tbl->win[i]);
+}
+
 static inline u8 rs_is_valid_ant(u8 valid_antenna, u8 ant_type)
 {
        return (ant_type & valid_antenna) == ant_type;
@@ -1397,7 +1405,6 @@ static u32 rs_bw_from_sta_bw(struct ieee
 static void rs_stay_in_table(struct iwl_lq_sta *lq_sta, bool force_search)
 {
        struct iwl_scale_tbl_info *tbl;
-       int i;
        int active_tbl;
        int flush_interval_passed = 0;
        struct iwl_mvm *mvm;
@@ -1458,9 +1465,7 @@ static void rs_stay_in_table(struct iwl_
 
                                IWL_DEBUG_RATE(mvm,
                                               "LQ: stay in table clear win\n");
-                               for (i = 0; i < IWL_RATE_COUNT; i++)
-                                       rs_rate_scale_clear_window(
-                                               &(tbl->win[i]));
+                               rs_rate_scale_clear_tbl_windows(tbl);
                        }
                }
 
@@ -1469,8 +1474,7 @@ static void rs_stay_in_table(struct iwl_
                 * "search" table). */
                if (lq_sta->rs_state == RS_STATE_SEARCH_CYCLE_STARTED) {
                        IWL_DEBUG_RATE(mvm, "Clearing up window stats\n");
-                       for (i = 0; i < IWL_RATE_COUNT; i++)
-                               rs_rate_scale_clear_window(&(tbl->win[i]));
+                       rs_rate_scale_clear_tbl_windows(tbl);
                }
        }
 }
@@ -1751,7 +1755,6 @@ static void rs_rate_scale_perform(struct
        int low = IWL_RATE_INVALID;
        int high = IWL_RATE_INVALID;
        int index;
-       int i;
        struct iwl_rate_scale_data *window = NULL;
        int current_tpt = IWL_INVALID_VALUE;
        int low_tpt = IWL_INVALID_VALUE;
@@ -2036,8 +2039,7 @@ lq_update:
                if (lq_sta->search_better_tbl) {
                        /* Access the "search" table, clear its history. */
                        tbl = &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
-                       for (i = 0; i < IWL_RATE_COUNT; i++)
-                               rs_rate_scale_clear_window(&(tbl->win[i]));
+                       rs_rate_scale_clear_tbl_windows(tbl);
 
                        /* Use new "search" start rate */
                        index = tbl->rate.index;
@@ -2301,8 +2303,7 @@ void iwl_mvm_rs_rate_init(struct iwl_mvm
        lq_sta->lq.sta_id = sta_priv->sta_id;
 
        for (j = 0; j < LQ_SIZE; j++)
-               for (i = 0; i < IWL_RATE_COUNT; i++)
-                       rs_rate_scale_clear_window(&lq_sta->lq_info[j].win[i]);
+               rs_rate_scale_clear_tbl_windows(&lq_sta->lq_info[j]);
 
        lq_sta->flush_timer = 0;
        lq_sta->last_tx = jiffies;


Patches currently in stable-queue which might be from [email protected] are

queue-3.14/iwlwifi-mvm-rs-clear-per-rate-stats-when-aggregation-changes.patch
queue-3.14/iwlwifi-add-rs_rate_scale_clear_tbl_windows-helper-function.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to