aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-5000.c
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2008-12-02 15:14:04 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-05 09:35:55 -0500
commitf3f911d1773d31f11038d90b04244bc3986c4ccd (patch)
tree83e5f2f8faf67c817b0617241a69e87cc6be1e3b /drivers/net/wireless/iwlwifi/iwl-5000.c
parent74221d07408c473721cce853ef4e0e66c0b326ba (diff)
iwlwifi: fix DMA channel number in iwl_txq_ctx_stop
The patch fixes the misuse of DMA channel number by Tx queue number in iwl_tx_ctx_stop(). The problem was originally reported by Wu Fengguang who complains iwlagn driver takes too long time when issuing `ifconfig wlan0 down`. The patch now decreases the interface bring down time from 2 seconds to 0.8 second. This fixes bugs: http://bugzilla.kernel.org/show_bug.cgi?id=11956 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1790 Signed-off-by: Zhu Yi <yi.zhu@intel.com> Tested-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index b6c57cbf6f33..f7a8df8dcaa7 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -827,6 +827,7 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
827 } 827 }
828 828
829 priv->hw_params.max_txq_num = priv->cfg->mod_params->num_of_queues; 829 priv->hw_params.max_txq_num = priv->cfg->mod_params->num_of_queues;
830 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;
830 priv->hw_params.scd_bc_tbls_size = 831 priv->hw_params.scd_bc_tbls_size =
831 IWL50_NUM_QUEUES * sizeof(struct iwl5000_scd_bc_tbl); 832 IWL50_NUM_QUEUES * sizeof(struct iwl5000_scd_bc_tbl);
832 priv->hw_params.max_stations = IWL5000_STATION_COUNT; 833 priv->hw_params.max_stations = IWL5000_STATION_COUNT;