Search Linux Wireless

Re: iwlagn is getting very shaky

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 25, 2011 at 01:02, Norbert Preining <preining@xxxxxxxx> wrote:
> On Do, 24 Nov 2011, Emmanuel Grumbach wrote:
>> Please apply the patch attached on top of the one I previously sent.
>> Let me know I you have trouble with patch.
>
> Which patch? Nothing attached, I also checked in the mail archives
> in case I had again problems with attached patches. Nothing.
> Please resend.
>

Oh well... Sorry again....
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 8efa10f..4f7c758 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -1596,6 +1596,7 @@ void iwl_start_tx_ba_trans_ready(struct iwl_priv *priv,
 		ctx = priv->stations[sta_id].ctxid;
 	vif = priv->contexts[ctx].vif;
 
+	IWL_DEBUG_TX_QUEUES(priv, "Telling mac start BA ready tid: %d", tid);
 	ieee80211_start_tx_ba_cb_irqsafe(vif, addr, tid);
 }
 
@@ -1610,6 +1611,7 @@ void iwl_stop_tx_ba_trans_ready(struct iwl_priv *priv,
 		ctx = priv->stations[sta_id].ctxid;
 	vif = priv->contexts[ctx].vif;
 
+	IWL_DEBUG_TX_QUEUES(priv, "Telling mac stop BA ready tid: %d", tid);
 	ieee80211_stop_tx_ba_cb_irqsafe(vif, addr, tid);
 }
 
diff --git a/drivers/net/wireless/iwlwifi/iwl-mac80211.c b/drivers/net/wireless/iwlwifi/iwl-mac80211.c
index ec31482..14f89ee 100644
--- a/drivers/net/wireless/iwlwifi/iwl-mac80211.c
+++ b/drivers/net/wireless/iwlwifi/iwl-mac80211.c
@@ -632,6 +632,7 @@ static int iwlagn_mac_ampdu_action(struct ieee80211_hw *hw,
 		break;
 	case IEEE80211_AMPDU_TX_STOP:
 		IWL_DEBUG_HT(priv, "stop Tx\n");
+		IWL_DEBUG_TX_QUEUES(priv, "Stop Tx agg for tid %d", tid);
 		ret = iwlagn_tx_agg_stop(priv, vif, sta, tid);
 		if ((ret == 0) && (priv->agg_tids_count > 0)) {
 			priv->agg_tids_count--;
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
index 84cf641..17e793f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h
@@ -424,12 +424,14 @@ static inline void iwl_stop_queue(struct iwl_trans *trans,
 static inline void iwl_txq_ctx_activate(struct iwl_trans_pcie *trans_pcie,
 					int txq_id)
 {
+	IWL_DEBUG_TX_QUEUES(trans_pcie->trans, "Activate txq %d", txq_id);
 	set_bit(txq_id, &trans_pcie->txq_ctx_active_msk);
 }
 
 static inline void iwl_txq_ctx_deactivate(struct iwl_trans_pcie *trans_pcie,
 					  int txq_id)
 {
+	IWL_DEBUG_TX_QUEUES(trans_pcie->trans, "Deactivate txq %d", txq_id);
 	clear_bit(txq_id, &trans_pcie->txq_ctx_active_msk);
 }
 
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c
index 049e3b6..11e0b56 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c
@@ -472,6 +472,8 @@ void iwl_trans_pcie_tx_agg_setup(struct iwl_trans *trans,
 		return;
 	}
 
+	IWL_DEBUG_TX_QUEUES(trans, "Setup AGG for tid %d", tid);
+
 	spin_lock_irqsave(&trans->shrd->sta_lock, flags);
 	tid_data = &trans->shrd->tid_data[sta_id][tid];
 	ssn_idx = SEQ_TO_SN(tid_data->seq_number);
@@ -536,8 +538,10 @@ static int iwlagn_txq_ctx_activate_free(struct iwl_trans *trans)
 
 	for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++)
 		if (!test_and_set_bit(txq_id,
-					&trans_pcie->txq_ctx_active_msk))
+					&trans_pcie->txq_ctx_active_msk)) {
+			IWL_DEBUG_TX_QUEUES(trans, "Activate txq %d", txq_id);
 			return txq_id;
+		}
 	return -1;
 }
 
@@ -582,6 +586,8 @@ void iwl_trans_pcie_txq_agg_disable(struct iwl_trans *trans, int txq_id)
 	struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
 	iwlagn_tx_queue_stop_scheduler(trans, txq_id);
 
+	IWL_DEBUG_TX_QUEUES(trans, "Disable AGG txq_id %d", txq_id);
+
 	iwl_clear_bits_prph(bus(trans), SCD_AGGR_SEL, (1 << txq_id));
 
 	trans_pcie->txq[txq_id].q.read_ptr = 0;

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux