All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nils Radtke <lkml@Think-Future.de>
To: reinette chatre <reinette.chatre@intel.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: kernel BUG in iwl-agn-rs.c:2076, WAS: iwlagn + some accesspoint == hardlock
Date: Thu, 20 May 2010 14:31:44 +0200	[thread overview]
Message-ID: <20100520123144.GA8153@localhost> (raw)
In-Reply-To: <1274138381.2091.4864.camel@rchatre-DESK>


  Hi Reinette,

  Did the fix like the patch below, applied on top of yours. Builds well, 
  not tested yet.

  Do you ACK this patch?

  Thanks,

          Nils


# 1) Error messages like: 
# iwlagn 0000:03:00.0: expected_tpt should have been calculated by now
# To address (1), could you please run with attached debug patch and also
# enable rate scaling debugging. That will be "modprobe iwlagn
# debug=0x143fff).

# diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
# index b93e491..60e5323 100644
# --- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
# +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
# @@ -361,6 +361,8 @@ static int rs_collect_tx_data(struct iwl_rate_scale_data *windows,
#  	 * subtract "1" from the success counter (this is the main reason
#  	 * we keep these bitmaps!).
#  	 */
# +	IWL_DEBUG_RATE(priv, "attempts = %d, window->counter = %d\n",
# +			attempts, window->counter);
#  	while (attempts > 0) {
#  		if (window->counter >= IWL_RATE_MAX_WINDOW) {
#  
# @@ -389,6 +391,7 @@ static int rs_collect_tx_data(struct iwl_rate_scale_data *windows,
#  		attempts--;
#  	}
#  
# +	IWL_DEBUG_RATE(priv, "window counter = %d \n", window->counter);
#  	/* Calculate current success ratio, avoid divide-by-0! */
#  	if (window->counter > 0)
#  		window->success_ratio = 128 * (100 * window->success_counter)
# @@ -849,6 +852,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
#  	 * first index into rate scale table.
#  	 */
#  	if (info->flags & IEEE80211_TX_STAT_AMPDU) {
# +		IWL_DEBUG_RATE(priv, "Updating aggregation history\n");
#  		tx_rate = le32_to_cpu(table->rs_table[0].rate_n_flags);
#  		rs_get_tbl_info_from_mcs(tx_rate, priv->band, &tbl_type,
#  				&rs_index);
# @@ -868,6 +872,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
#  	 * For legacy, update frame history with for each Tx retry.
#  	 */
#  		retries = info->status.rates[0].count - 1;
# +		IWL_DEBUG_RATE(priv, "Updating legacy history. retries = %d \n", retries);
#  		/* HW doesn't send more than 15 retries */
#  		retries = min(retries, 15);
#  

---

 drivers/net/wireless/iwlwifi/iwl-agn-rs.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: linux-2.6.33.3_clean/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
===================================================================
--- linux-2.6.33.3_clean.orig/drivers/net/wireless/iwlwifi/iwl-agn-rs.c	2010-05-20 14:25:42.000000000 +0200
+++ linux-2.6.33.3_clean/drivers/net/wireless/iwlwifi/iwl-agn-rs.c	2010-05-20 14:26:50.000000000 +0200
@@ -341,7 +341,7 @@
  */
 static int rs_collect_tx_data(struct iwl_rate_scale_data *windows,
 			      int scale_index, s32 tpt, int attempts,
-			      int successes)
+			      int successes, struct iwl_priv *priv)
 {
 	struct iwl_rate_scale_data *window = NULL;
 	static const u64 mask = (((u64)1) << (IWL_RATE_MAX_WINDOW - 1));
@@ -859,7 +859,7 @@
 		tpt = get_expected_tpt(curr_tbl, rs_index);
 		rs_collect_tx_data(window, rs_index, tpt,
 				   info->status.ampdu_ack_len,
-				   info->status.ampdu_ack_map);
+				   info->status.ampdu_ack_map, priv);
 
 		/* Update success/fail counts if not searching for new mode */
 		if (lq_sta->stay_in_tbl) {
@@ -897,10 +897,10 @@
 			/* Constants mean 1 transmission, 0 successes */
 			if (i < retries)
 				rs_collect_tx_data(window, rs_index, tpt, 1,
-						0);
+						0, priv);
 			else
 				rs_collect_tx_data(window, rs_index, tpt, 1,
-						legacy_success);
+						legacy_success, priv);
 		}
 
 		/* Update success/fail counts if not searching for new mode */

  parent reply	other threads:[~2010-05-20 14:31 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-03 19:17 kernel BUG in iwl-agn-rs.c:2076, WAS: iwlagn + some accesspoint == hardlock NilsRadtkelkml
2010-05-03 19:22 ` John W. Linville
2010-05-06  9:14   ` Christian Borntraeger
2010-05-06 16:28     ` reinette chatre
2010-05-11 15:50       ` Christian Borntraeger
2010-05-11 17:21         ` reinette chatre
2010-05-12 15:18           ` Christian Borntraeger
2010-05-10 18:36   ` Nils Radtke
2010-05-10 23:32     ` reinette chatre
2010-05-12 14:39       ` Nils Radtke
2010-05-12 23:14         ` reinette chatre
2010-05-13 10:34           ` Nils Radtke
2010-05-13 11:32           ` Nils Radtke
2010-05-13 16:31             ` reinette chatre
2010-05-14 17:45               ` Nils Radtke
2010-05-13 15:05           ` Nils Radtke
2010-05-17 23:19             ` reinette chatre
2010-05-20 12:15               ` Nils Radtke
2010-05-20 18:33                 ` reinette chatre
2010-05-31 20:12                   ` Nils Radtke
2010-06-02 17:51                     ` reinette chatre
2010-06-04 16:57                       ` Nils Radtke
2010-06-08 17:46                         ` reinette chatre
2010-06-10 14:22                           ` Nils Radtke
2010-06-10 16:19                             ` reinette chatre
2010-05-20 12:31               ` Nils Radtke [this message]
2010-05-20 18:26                 ` reinette chatre
2010-05-20 22:30                 ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2010-05-11  9:41 Nils Radtke
2010-04-29 18:26 kernel BUG in iwl-agn-rs.c:2076,was: iwlagn + some accesspoint = hardlock lkml

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100520123144.GA8153@localhost \
    --to=lkml@think-future.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reinette.chatre@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.