aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-5000.c
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2008-06-11 21:46:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-14 12:18:05 -0400
commit7f3e4bb60f81dd172d5e4b89220cb3f80c6dc552 (patch)
tree8cc593c25bbb8c4bc74c54e1dcace793ff194a02 /drivers/net/wireless/iwlwifi/iwl-5000.c
parent203566f359b5702be72238a8b1d37655c986cc7c (diff)
iwlwifi: map sw and hw ampdu queues
This patch maps sw and hw queues (for aggregations), so the right mac80211 queue will be waken when ieee80211_wake_queue is invoked. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index 31ea363c62c7..0ae5421c81c7 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -825,6 +825,7 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
825 } 825 }
826 826
827 priv->hw_params.max_txq_num = priv->cfg->mod_params->num_of_queues; 827 priv->hw_params.max_txq_num = priv->cfg->mod_params->num_of_queues;
828 priv->hw_params.first_ampdu_q = IWL50_FIRST_AMPDU_QUEUE;
828 priv->hw_params.sw_crypto = priv->cfg->mod_params->sw_crypto; 829 priv->hw_params.sw_crypto = priv->cfg->mod_params->sw_crypto;
829 priv->hw_params.max_rxq_size = RX_QUEUE_SIZE; 830 priv->hw_params.max_rxq_size = RX_QUEUE_SIZE;
830 priv->hw_params.max_rxq_log = RX_QUEUE_SIZE_LOG; 831 priv->hw_params.max_rxq_log = RX_QUEUE_SIZE_LOG;
@@ -1183,7 +1184,7 @@ static void iwl5000_rx_reply_tx(struct iwl_priv *priv,
1183 txq_id >= 0 && priv->mac80211_registered && 1184 txq_id >= 0 && priv->mac80211_registered &&
1184 agg->state != IWL_EMPTYING_HW_QUEUE_DELBA) { 1185 agg->state != IWL_EMPTYING_HW_QUEUE_DELBA) {
1185 /* calculate mac80211 ampdu sw queue to wake */ 1186 /* calculate mac80211 ampdu sw queue to wake */
1186 ampdu_q = txq_id - IWL_BACK_QUEUE_FIRST_ID + 1187 ampdu_q = txq_id - IWL50_FIRST_AMPDU_QUEUE +
1187 priv->hw->queues; 1188 priv->hw->queues;
1188 if (agg->state == IWL_AGG_OFF) 1189 if (agg->state == IWL_AGG_OFF)
1189 ieee80211_wake_queue(priv->hw, txq_id); 1190 ieee80211_wake_queue(priv->hw, txq_id);