aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index f7e267e30ce6..0644e22fe780 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -2931,7 +2931,7 @@ static void iwl4965_sta_modify_ps_wake(struct iwl_priv *priv, int sta_id)
2931 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; 2931 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
2932 spin_unlock_irqrestore(&priv->sta_lock, flags); 2932 spin_unlock_irqrestore(&priv->sta_lock, flags);
2933 2933
2934 iwl4965_send_add_station(priv, &priv->stations[sta_id].sta, CMD_ASYNC); 2934 iwl_send_add_sta(priv, &priv->stations[sta_id].sta, CMD_ASYNC);
2935} 2935}
2936 2936
2937static void iwl4965_update_ps_mode(struct iwl_priv *priv, u16 ps_bit, u8 *addr) 2937static void iwl4965_update_ps_mode(struct iwl_priv *priv, u16 ps_bit, u8 *addr)
@@ -3323,7 +3323,7 @@ static void iwl4965_sta_modify_enable_tid_tx(struct iwl_priv *priv,
3323 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; 3323 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
3324 spin_unlock_irqrestore(&priv->sta_lock, flags); 3324 spin_unlock_irqrestore(&priv->sta_lock, flags);
3325 3325
3326 iwl4965_send_add_station(priv, &priv->stations[sta_id].sta, CMD_ASYNC); 3326 iwl_send_add_sta(priv, &priv->stations[sta_id].sta, CMD_ASYNC);
3327} 3327}
3328 3328
3329/** 3329/**
@@ -3878,7 +3878,7 @@ static int iwl4965_rx_agg_start(struct iwl_priv *priv,
3878 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; 3878 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
3879 spin_unlock_irqrestore(&priv->sta_lock, flags); 3879 spin_unlock_irqrestore(&priv->sta_lock, flags);
3880 3880
3881 return iwl4965_send_add_station(priv, &priv->stations[sta_id].sta, 3881 return iwl_send_add_sta(priv, &priv->stations[sta_id].sta,
3882 CMD_ASYNC); 3882 CMD_ASYNC);
3883} 3883}
3884 3884
@@ -3899,7 +3899,7 @@ static int iwl4965_rx_agg_stop(struct iwl_priv *priv,
3899 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; 3899 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
3900 spin_unlock_irqrestore(&priv->sta_lock, flags); 3900 spin_unlock_irqrestore(&priv->sta_lock, flags);
3901 3901
3902 return iwl4965_send_add_station(priv, &priv->stations[sta_id].sta, 3902 return iwl_send_add_sta(priv, &priv->stations[sta_id].sta,
3903 CMD_ASYNC); 3903 CMD_ASYNC);
3904} 3904}
3905 3905
@@ -4064,9 +4064,26 @@ int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw,
4064 } 4064 }
4065 return 0; 4065 return 0;
4066} 4066}
4067
4068#endif /* CONFIG_IWL4965_HT */ 4067#endif /* CONFIG_IWL4965_HT */
4069 4068
4069
4070static u16 iwl4965_build_addsta_hcmd(const struct iwl_addsta_cmd *cmd, u8 *data)
4071{
4072 struct iwl4965_addsta_cmd *addsta = (struct iwl4965_addsta_cmd *)data;
4073 addsta->mode = cmd->mode;
4074 memcpy(&addsta->sta, &cmd->sta, sizeof(struct sta_id_modify));
4075 memcpy(&addsta->key, &cmd->key, sizeof(struct iwl4965_keyinfo));
4076 addsta->station_flags = cmd->station_flags;
4077 addsta->station_flags_msk = cmd->station_flags_msk;
4078 addsta->tid_disable_tx = cmd->tid_disable_tx;
4079 addsta->add_immediate_ba_tid = cmd->add_immediate_ba_tid;
4080 addsta->remove_immediate_ba_tid = cmd->remove_immediate_ba_tid;
4081 addsta->add_immediate_ba_ssn = cmd->add_immediate_ba_ssn;
4082 addsta->reserved1 = __constant_cpu_to_le16(0);
4083 addsta->reserved2 = __constant_cpu_to_le32(0);
4084
4085 return (u16)sizeof(struct iwl4965_addsta_cmd);
4086}
4070/* Set up 4965-specific Rx frame reply handlers */ 4087/* Set up 4965-specific Rx frame reply handlers */
4071static void iwl4965_rx_handler_setup(struct iwl_priv *priv) 4088static void iwl4965_rx_handler_setup(struct iwl_priv *priv)
4072{ 4089{
@@ -4110,6 +4127,7 @@ static struct iwl_hcmd_ops iwl4965_hcmd = {
4110 4127
4111static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = { 4128static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = {
4112 .enqueue_hcmd = iwl4965_enqueue_hcmd, 4129 .enqueue_hcmd = iwl4965_enqueue_hcmd,
4130 .build_addsta_hcmd = iwl4965_build_addsta_hcmd,
4113#ifdef CONFIG_IWL4965_RUN_TIME_CALIB 4131#ifdef CONFIG_IWL4965_RUN_TIME_CALIB
4114 .chain_noise_reset = iwl4965_chain_noise_reset, 4132 .chain_noise_reset = iwl4965_chain_noise_reset,
4115 .gain_computation = iwl4965_gain_computation, 4133 .gain_computation = iwl4965_gain_computation,