diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2009-02-27 19:21:24 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:36 -0500 |
commit | 14d2aac580993ac8faeac0d903207e316c0881c3 (patch) | |
tree | 54f7cf756c8e26148303cdb00a793b17535870b9 /drivers/net/wireless/iwlwifi/iwl-core.c | |
parent | 2a4ddaabe0055962fbfffb72633a97eadc7e93ac (diff) |
iwl3945 : use iwl_activate_qos
3945 can use iwl_activate_qos instead of iwl3945_activate_qos.
Patch does two things
1) Patch adds iwl_activate_qos in core library.
2) 3945 makes use of iwl_activate_qos.
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@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-core.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index 37069d4c6c9..085e9cf1cac 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c | |||
@@ -240,6 +240,39 @@ int iwl_hw_nic_init(struct iwl_priv *priv) | |||
240 | } | 240 | } |
241 | EXPORT_SYMBOL(iwl_hw_nic_init); | 241 | EXPORT_SYMBOL(iwl_hw_nic_init); |
242 | 242 | ||
243 | /* | ||
244 | * QoS support | ||
245 | */ | ||
246 | void iwl_activate_qos(struct iwl_priv *priv, u8 force) | ||
247 | { | ||
248 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | ||
249 | return; | ||
250 | |||
251 | priv->qos_data.def_qos_parm.qos_flags = 0; | ||
252 | |||
253 | if (priv->qos_data.qos_cap.q_AP.queue_request && | ||
254 | !priv->qos_data.qos_cap.q_AP.txop_request) | ||
255 | priv->qos_data.def_qos_parm.qos_flags |= | ||
256 | QOS_PARAM_FLG_TXOP_TYPE_MSK; | ||
257 | if (priv->qos_data.qos_active) | ||
258 | priv->qos_data.def_qos_parm.qos_flags |= | ||
259 | QOS_PARAM_FLG_UPDATE_EDCA_MSK; | ||
260 | |||
261 | if (priv->current_ht_config.is_ht) | ||
262 | priv->qos_data.def_qos_parm.qos_flags |= QOS_PARAM_FLG_TGN_MSK; | ||
263 | |||
264 | if (force || iwl_is_associated(priv)) { | ||
265 | IWL_DEBUG_QOS(priv, "send QoS cmd with Qos active=%d FLAGS=0x%X\n", | ||
266 | priv->qos_data.qos_active, | ||
267 | priv->qos_data.def_qos_parm.qos_flags); | ||
268 | |||
269 | iwl_send_cmd_pdu_async(priv, REPLY_QOS_PARAM, | ||
270 | sizeof(struct iwl_qosparam_cmd), | ||
271 | &priv->qos_data.def_qos_parm, NULL); | ||
272 | } | ||
273 | } | ||
274 | EXPORT_SYMBOL(iwl_activate_qos); | ||
275 | |||
243 | void iwl_reset_qos(struct iwl_priv *priv) | 276 | void iwl_reset_qos(struct iwl_priv *priv) |
244 | { | 277 | { |
245 | u16 cw_min = 15; | 278 | u16 cw_min = 15; |