diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-06-11 21:46:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-14 12:18:05 -0400 |
commit | 7f3e4bb60f81dd172d5e4b89220cb3f80c6dc552 (patch) | |
tree | 8cc593c25bbb8c4bc74c54e1dcace793ff194a02 /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | 203566f359b5702be72238a8b1d37655c986cc7c (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.c | 3 |
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); |