diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 28 |
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 | ||
2937 | static void iwl4965_update_ps_mode(struct iwl_priv *priv, u16 ps_bit, u8 *addr) | 2937 | static 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 | |||
4070 | static 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 */ |
4071 | static void iwl4965_rx_handler_setup(struct iwl_priv *priv) | 4088 | static void iwl4965_rx_handler_setup(struct iwl_priv *priv) |
4072 | { | 4089 | { |
@@ -4110,6 +4127,7 @@ static struct iwl_hcmd_ops iwl4965_hcmd = { | |||
4110 | 4127 | ||
4111 | static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = { | 4128 | static 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, |