aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965.c
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-07-10 23:53:35 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-14 14:52:59 -0400
commit9f17b318a1e2335b45cf35ad6509b90e972c0e6b (patch)
treed1e532523043f46c72f81d620ff3578e6330e0c3 /drivers/net/wireless/iwlwifi/iwl-4965.c
parent1ff50bda6eef4466366e197541508fc69af0f0c0 (diff)
iwlwifi: differentiate 4965 and 5000 hw ampdu queues number
This patch asks to allocate the correct amount of sw queues according to hw ampdu queues number. 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-4965.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index e0e43bdb05e..a20adab6163 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -52,6 +52,7 @@ static int iwl4965_hw_get_temperature(const struct iwl_priv *priv);
52/* module parameters */ 52/* module parameters */
53static struct iwl_mod_params iwl4965_mod_params = { 53static struct iwl_mod_params iwl4965_mod_params = {
54 .num_of_queues = IWL49_NUM_QUEUES, 54 .num_of_queues = IWL49_NUM_QUEUES,
55 .num_of_ampdu_queues = IWL49_NUM_AMPDU_QUEUES,
55 .enable_qos = 1, 56 .enable_qos = 1,
56 .amsdu_size_8K = 1, 57 .amsdu_size_8K = 1,
57 .restart_fw = 1, 58 .restart_fw = 1,
@@ -1943,9 +1944,11 @@ static int iwl4965_txq_agg_disable(struct iwl_priv *priv, u16 txq_id,
1943{ 1944{
1944 int ret = 0; 1945 int ret = 0;
1945 1946
1946 if (IWL49_FIRST_AMPDU_QUEUE > txq_id) { 1947 if ((IWL49_FIRST_AMPDU_QUEUE > txq_id) ||
1947 IWL_WARNING("queue number too small: %d, must be > %d\n", 1948 (IWL49_FIRST_AMPDU_QUEUE + IWL49_NUM_AMPDU_QUEUES <= txq_id)) {
1948 txq_id, IWL49_FIRST_AMPDU_QUEUE); 1949 IWL_WARNING("queue number out of range: %d, must be %d to %d\n",
1950 txq_id, IWL49_FIRST_AMPDU_QUEUE,
1951 IWL49_FIRST_AMPDU_QUEUE + IWL49_NUM_AMPDU_QUEUES - 1);
1949 return -EINVAL; 1952 return -EINVAL;
1950 } 1953 }
1951 1954
@@ -2012,9 +2015,13 @@ static int iwl4965_txq_agg_enable(struct iwl_priv *priv, int txq_id,
2012 int ret; 2015 int ret;
2013 u16 ra_tid; 2016 u16 ra_tid;
2014 2017
2015 if (IWL49_FIRST_AMPDU_QUEUE > txq_id) 2018 if ((IWL49_FIRST_AMPDU_QUEUE > txq_id) ||
2016 IWL_WARNING("queue number too small: %d, must be > %d\n", 2019 (IWL49_FIRST_AMPDU_QUEUE + IWL49_NUM_AMPDU_QUEUES <= txq_id)) {
2017 txq_id, IWL49_FIRST_AMPDU_QUEUE); 2020 IWL_WARNING("queue number out of range: %d, must be %d to %d\n",
2021 txq_id, IWL49_FIRST_AMPDU_QUEUE,
2022 IWL49_FIRST_AMPDU_QUEUE + IWL49_NUM_AMPDU_QUEUES - 1);
2023 return -EINVAL;
2024 }
2018 2025
2019 ra_tid = BUILD_RAxTID(sta_id, tid); 2026 ra_tid = BUILD_RAxTID(sta_id, tid);
2020 2027