aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-04-01 17:33:25 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:40 -0400
commit3eb9296970e70902593b15ed3080e389954cf5f5 (patch)
tree4c87b04626ab418a1b6afc76845184b58a9e573a /drivers
parent584a0f00636d34f71a80f5b550a305f1a1620693 (diff)
iwlwifi: add debug messages when start aggregation queue
This patch adding few more debug messages if encounter error when driver try to start tx aggregation queue. Also change from IWL_ERR to IWL_DEBUG_HT is the HW legacy queue is empty when driver request to move to aggregation queue. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index 1f117a49c569..c734c5f7e976 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -1170,8 +1170,10 @@ int iwl_tx_agg_start(struct iwl_priv *priv, const u8 *ra, u16 tid, u16 *ssn)
1170 __func__, ra, tid); 1170 __func__, ra, tid);
1171 1171
1172 sta_id = iwl_find_station(priv, ra); 1172 sta_id = iwl_find_station(priv, ra);
1173 if (sta_id == IWL_INVALID_STATION) 1173 if (sta_id == IWL_INVALID_STATION) {
1174 IWL_ERR(priv, "Start AGG on invalid station\n");
1174 return -ENXIO; 1175 return -ENXIO;
1176 }
1175 1177
1176 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_OFF) { 1178 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_OFF) {
1177 IWL_ERR(priv, "Start AGG when state is not IWL_AGG_OFF !\n"); 1179 IWL_ERR(priv, "Start AGG when state is not IWL_AGG_OFF !\n");
@@ -1179,8 +1181,10 @@ int iwl_tx_agg_start(struct iwl_priv *priv, const u8 *ra, u16 tid, u16 *ssn)
1179 } 1181 }
1180 1182
1181 txq_id = iwl_txq_ctx_activate_free(priv); 1183 txq_id = iwl_txq_ctx_activate_free(priv);
1182 if (txq_id == -1) 1184 if (txq_id == -1) {
1185 IWL_ERR(priv, "No free aggregation queue available\n");
1183 return -ENXIO; 1186 return -ENXIO;
1187 }
1184 1188
1185 spin_lock_irqsave(&priv->sta_lock, flags); 1189 spin_lock_irqsave(&priv->sta_lock, flags);
1186 tid_data = &priv->stations[sta_id].tid[tid]; 1190 tid_data = &priv->stations[sta_id].tid[tid];
@@ -1194,7 +1198,7 @@ int iwl_tx_agg_start(struct iwl_priv *priv, const u8 *ra, u16 tid, u16 *ssn)
1194 return ret; 1198 return ret;
1195 1199
1196 if (tid_data->tfds_in_queue == 0) { 1200 if (tid_data->tfds_in_queue == 0) {
1197 IWL_ERR(priv, "HW queue is empty\n"); 1201 IWL_DEBUG_HT(priv, "HW queue is empty\n");
1198 tid_data->agg.state = IWL_AGG_ON; 1202 tid_data->agg.state = IWL_AGG_ON;
1199 ieee80211_start_tx_ba_cb_irqsafe(priv->hw, ra, tid); 1203 ieee80211_start_tx_ba_cb_irqsafe(priv->hw, ra, tid);
1200 } else { 1204 } else {