linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: linville@tuxdriver.com
Cc: linux-wireless@vger.kernel.org,
	ipw3945-devel@lists.sourceforge.net,
	Wey-Yi Guy <wey-yi.w.guy@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>
Subject: [PATCH 15/21] iwlwifi: sanity check for turn on aggregation tid
Date: Fri, 16 Apr 2010 14:52:32 -0700	[thread overview]
Message-ID: <1271454758-14351-16-git-send-email-reinette.chatre@intel.com> (raw)
In-Reply-To: <1271454758-14351-1-git-send-email-reinette.chatre@intel.com>

From: Wey-Yi Guy <wey-yi.w.guy@intel.com>

Perform sanity check for turn on aggregation tid. Also remove the
option for turn on all the aggregation tids at once since it is
deprecated function and not being used.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
---
 drivers/net/wireless/iwlwifi/iwl-agn-rs.c |   34 ++++++++++++++--------------
 1 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 5bc406c..8f8d5e3 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -294,11 +294,11 @@ static u32 rs_tl_get_load(struct iwl_lq_sta *lq_data, u8 tid)
 	return tl->total;
 }
 
-static void rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
+static int rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
 				      struct iwl_lq_sta *lq_data, u8 tid,
 				      struct ieee80211_sta *sta)
 {
-	int ret;
+	int ret = -EAGAIN;
 
 	if (rs_tl_get_load(lq_data, tid) > IWL_AGG_LOAD_THRESHOLD) {
 		IWL_DEBUG_HT(priv, "Starting Tx agg: STA: %pM tid: %d\n",
@@ -312,29 +312,29 @@ static void rs_tl_turn_on_agg_for_tid(struct iwl_priv *priv,
 			 */
 			IWL_DEBUG_HT(priv, "Fail start Tx agg on tid: %d\n",
 				tid);
-			ret = ieee80211_stop_tx_ba_session(sta, tid,
+			ieee80211_stop_tx_ba_session(sta, tid,
 						WLAN_BACK_INITIATOR);
 		}
-	}
+	} else
+		IWL_ERR(priv, "Fail finding valid aggregation tid: %d\n", tid);
+	return ret;
 }
 
 static void rs_tl_turn_on_agg(struct iwl_priv *priv, u8 tid,
 			      struct iwl_lq_sta *lq_data,
 			      struct ieee80211_sta *sta)
 {
-	if ((tid < TID_MAX_LOAD_COUNT))
-		rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta);
-	else if (tid == IWL_AGG_ALL_TID)
-		for (tid = 0; tid < TID_MAX_LOAD_COUNT; tid++)
-			rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta);
-	if (priv->cfg->use_rts_for_ht) {
-		/*
-		 * switch to RTS/CTS if it is the prefer protection method
-		 * for HT traffic
-		 */
-		IWL_DEBUG_HT(priv, "use RTS/CTS protection for HT\n");
-		priv->staging_rxon.flags &= ~RXON_FLG_SELF_CTS_EN;
-		iwlcore_commit_rxon(priv);
+	if ((tid < TID_MAX_LOAD_COUNT) &&
+	    !rs_tl_turn_on_agg_for_tid(priv, lq_data, tid, sta)) {
+		if (priv->cfg->use_rts_for_ht) {
+			/*
+			 * switch to RTS/CTS if it is the prefer protection
+			 * method for HT traffic
+			 */
+			IWL_DEBUG_HT(priv, "use RTS/CTS protection for HT\n");
+			priv->staging_rxon.flags &= ~RXON_FLG_SELF_CTS_EN;
+			iwlcore_commit_rxon(priv);
+		}
 	}
 }
 
-- 
1.6.3.3


  parent reply	other threads:[~2010-04-16 21:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-16 21:52 [PATCH 00/21] iwlwifi updates for 2.6.35 Reinette Chatre
2010-04-16 21:52 ` [PATCH 01/21] iwlwifi: set correct single/dual stream mask Reinette Chatre
2010-04-16 21:52 ` [PATCH 02/21] iwlwifi: remove scan_bands logic Reinette Chatre
2010-04-16 21:52 ` [PATCH 03/21] iwlwifi: correct atomic bitops usage Reinette Chatre
2010-04-16 21:52 ` [PATCH 04/21] iwlwifi: remove next_scan_jiffies Reinette Chatre
2010-04-16 21:52 ` [PATCH 05/21] iwlwifi: remove scan_pass_start Reinette Chatre
2010-04-16 21:52 ` [PATCH 06/21] iwlwifi: rename priv->scan to priv->scan_cmd Reinette Chatre
2010-04-16 21:52 ` [PATCH 07/21] iwlwifi: trigger scan synchronously Reinette Chatre
2010-04-16 21:52 ` [PATCH 08/21] iwlwifi: more generic eeprom defines Reinette Chatre
2010-04-16 21:52 ` [PATCH 09/21] iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters Reinette Chatre
2010-04-16 21:52 ` [PATCH 10/21] iwlwifi: remove duplicated debug functions Reinette Chatre
2010-04-16 21:52 ` [PATCH 11/21] iwlwifi: add debugfs ops to iwlwifi Reinette Chatre
2010-04-16 21:52 ` [PATCH 12/21] iwlwifi: remove redundant iwl_dump_lq_cmd() Reinette Chatre
2010-04-16 21:52 ` [PATCH 13/21] iwlwifi: add hw revision for 6000g2 NIC Reinette Chatre
2010-04-16 21:52 ` [PATCH 14/21] iwlwifi: PA type for 6000g2 series Reinette Chatre
2010-04-16 21:52 ` Reinette Chatre [this message]
2010-04-16 21:52 ` [PATCH 16/21] iwlwifi: more code clean up for agn devices Reinette Chatre
2010-04-16 21:52 ` [PATCH 17/21] iwlwifi: make BT coex config a virtual method Reinette Chatre
2010-04-16 21:52 ` [PATCH 18/21] iwlwifi: rename TX_CMD_FLG_BT_DIS_MSK Reinette Chatre
2010-04-16 21:52 ` [PATCH 19/21] iwlwifi: don't check monitor for scanning Reinette Chatre
2010-04-16 21:52 ` [PATCH 20/21] iwlwifi: remove monitor check Reinette Chatre
2010-04-16 21:52 ` [PATCH 21/21] iwlwifi: make scan antenna forcing more generic Reinette Chatre

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=1271454758-14351-16-git-send-email-reinette.chatre@intel.com \
    --to=reinette.chatre@intel.com \
    --cc=ipw3945-devel@lists.sourceforge.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=wey-yi.w.guy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).