diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-07-10 23:53:35 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-07-14 14:52:59 -0400 |
commit | 9f17b318a1e2335b45cf35ad6509b90e972c0e6b (patch) | |
tree | d1e532523043f46c72f81d620ff3578e6330e0c3 /drivers/net/wireless/iwlwifi/iwl-4965.c | |
parent | 1ff50bda6eef4466366e197541508fc69af0f0c0 (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.c | 19 |
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 e0e43bdb05e0..a20adab6163a 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 */ |
53 | static struct iwl_mod_params iwl4965_mod_params = { | 53 | static 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 | ||