diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2009-04-01 17:33:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:54:40 -0400 |
commit | 3eb9296970e70902593b15ed3080e389954cf5f5 (patch) | |
tree | 4c87b04626ab418a1b6afc76845184b58a9e573a /drivers | |
parent | 584a0f00636d34f71a80f5b550a305f1a1620693 (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.c | 10 |
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 { |