aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-11-25 14:11:48 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-28 14:44:31 -0500
commit264827555bff54bc2c896b51777e89bd22d01c21 (patch)
tree4af1b7a559fd140de5965515a29facb8bcbed970 /drivers
parentebfa867dd939839436fe8fed8122b9e5d30841f6 (diff)
iwlwifi: help to debug AGG SM inconsistencies
Add more data when inconsistencies occur in the AGG state machine. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
index 527e7957c932..2ac75427f10b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
@@ -1099,13 +1099,21 @@ static int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb,
1099 hdr->seq_ctrl = hdr->seq_ctrl & 1099 hdr->seq_ctrl = hdr->seq_ctrl &
1100 cpu_to_le16(IEEE80211_SCTL_FRAG); 1100 cpu_to_le16(IEEE80211_SCTL_FRAG);
1101 hdr->seq_ctrl |= cpu_to_le16(seq_number); 1101 hdr->seq_ctrl |= cpu_to_le16(seq_number);
1102 seq_number += 0x10;
1103 /* aggregation is on for this <sta,tid> */ 1102 /* aggregation is on for this <sta,tid> */
1104 if (info->flags & IEEE80211_TX_CTL_AMPDU) { 1103 if (info->flags & IEEE80211_TX_CTL_AMPDU) {
1105 WARN_ON_ONCE(tid_data->agg.state != IWL_AGG_ON); 1104 if (WARN_ON_ONCE(tid_data->agg.state != IWL_AGG_ON)) {
1105 IWL_ERR(trans, "TX_CTL_AMPDU while not in AGG:"
1106 " Tx flags = 0x%08x, agg.state = %d",
1107 info->flags, tid_data->agg.state);
1108 IWL_ERR(trans, "sta_id = %d, tid = %d "
1109 "txq_id = %d, seq_num = %d", sta_id,
1110 tid, tid_data->agg.txq_id,
1111 seq_number >> 4);
1112 }
1106 txq_id = tid_data->agg.txq_id; 1113 txq_id = tid_data->agg.txq_id;
1107 is_agg = true; 1114 is_agg = true;
1108 } 1115 }
1116 seq_number += 0x10;
1109 } 1117 }
1110 1118
1111 /* Copy MAC header from skb into command buffer */ 1119 /* Copy MAC header from skb into command buffer */