diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 834c2f9c15d7..b207e3e9299f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -43,7 +43,7 @@ | |||
43 | #include "iwl-core.h" | 43 | #include "iwl-core.h" |
44 | #include "iwl-io.h" | 44 | #include "iwl-io.h" |
45 | #include "iwl-helpers.h" | 45 | #include "iwl-helpers.h" |
46 | #include "iwl-calib.h" | 46 | #include "iwl-agn-calib.h" |
47 | #include "iwl-sta.h" | 47 | #include "iwl-sta.h" |
48 | #include "iwl-agn-led.h" | 48 | #include "iwl-agn-led.h" |
49 | #include "iwl-agn.h" | 49 | #include "iwl-agn.h" |
@@ -669,8 +669,8 @@ static int iwl4965_hw_set_hw_params(struct iwl_priv *priv) | |||
669 | priv->hw_params.rx_chains_num = num_of_ant(priv->cfg->valid_rx_ant); | 669 | priv->hw_params.rx_chains_num = num_of_ant(priv->cfg->valid_rx_ant); |
670 | priv->hw_params.valid_tx_ant = priv->cfg->valid_tx_ant; | 670 | priv->hw_params.valid_tx_ant = priv->cfg->valid_tx_ant; |
671 | priv->hw_params.valid_rx_ant = priv->cfg->valid_rx_ant; | 671 | priv->hw_params.valid_rx_ant = priv->cfg->valid_rx_ant; |
672 | if (priv->cfg->ops->lib->temp_ops.set_ct_kill) | 672 | |
673 | priv->cfg->ops->lib->temp_ops.set_ct_kill(priv); | 673 | iwl4965_set_ct_threshold(priv); |
674 | 674 | ||
675 | priv->hw_params.sens = &iwl4965_sensitivity; | 675 | priv->hw_params.sens = &iwl4965_sensitivity; |
676 | priv->hw_params.beacon_time_tsf_bits = IWLAGN_EXT_BEACON_TIME_POS; | 676 | priv->hw_params.beacon_time_tsf_bits = IWLAGN_EXT_BEACON_TIME_POS; |
@@ -2216,11 +2216,23 @@ static void iwl4965_cancel_deferred_work(struct iwl_priv *priv) | |||
2216 | 2216 | ||
2217 | static struct iwl_hcmd_ops iwl4965_hcmd = { | 2217 | static struct iwl_hcmd_ops iwl4965_hcmd = { |
2218 | .rxon_assoc = iwl4965_send_rxon_assoc, | 2218 | .rxon_assoc = iwl4965_send_rxon_assoc, |
2219 | .commit_rxon = iwl_commit_rxon, | 2219 | .commit_rxon = iwlagn_commit_rxon, |
2220 | .set_rxon_chain = iwl_set_rxon_chain, | 2220 | .set_rxon_chain = iwlagn_set_rxon_chain, |
2221 | .send_bt_config = iwl_send_bt_config, | 2221 | .send_bt_config = iwl_send_bt_config, |
2222 | }; | 2222 | }; |
2223 | 2223 | ||
2224 | static void iwl4965_post_scan(struct iwl_priv *priv) | ||
2225 | { | ||
2226 | struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; | ||
2227 | |||
2228 | /* | ||
2229 | * Since setting the RXON may have been deferred while | ||
2230 | * performing the scan, fire one off if needed | ||
2231 | */ | ||
2232 | if (memcmp(&ctx->staging, &ctx->active, sizeof(ctx->staging))) | ||
2233 | iwlcore_commit_rxon(priv, ctx); | ||
2234 | } | ||
2235 | |||
2224 | static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = { | 2236 | static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = { |
2225 | .get_hcmd_size = iwl4965_get_hcmd_size, | 2237 | .get_hcmd_size = iwl4965_get_hcmd_size, |
2226 | .build_addsta_hcmd = iwl4965_build_addsta_hcmd, | 2238 | .build_addsta_hcmd = iwl4965_build_addsta_hcmd, |
@@ -2229,6 +2241,7 @@ static struct iwl_hcmd_utils_ops iwl4965_hcmd_utils = { | |||
2229 | .tx_cmd_protection = iwlcore_tx_cmd_protection, | 2241 | .tx_cmd_protection = iwlcore_tx_cmd_protection, |
2230 | .calc_rssi = iwl4965_calc_rssi, | 2242 | .calc_rssi = iwl4965_calc_rssi, |
2231 | .request_scan = iwlagn_request_scan, | 2243 | .request_scan = iwlagn_request_scan, |
2244 | .post_scan = iwl4965_post_scan, | ||
2232 | }; | 2245 | }; |
2233 | 2246 | ||
2234 | static struct iwl_lib_ops iwl4965_lib = { | 2247 | static struct iwl_lib_ops iwl4965_lib = { |
@@ -2253,9 +2266,7 @@ static struct iwl_lib_ops iwl4965_lib = { | |||
2253 | .set_channel_switch = iwl4965_hw_channel_switch, | 2266 | .set_channel_switch = iwl4965_hw_channel_switch, |
2254 | .apm_ops = { | 2267 | .apm_ops = { |
2255 | .init = iwl_apm_init, | 2268 | .init = iwl_apm_init, |
2256 | .stop = iwl_apm_stop, | ||
2257 | .config = iwl4965_nic_config, | 2269 | .config = iwl4965_nic_config, |
2258 | .set_pwr_src = iwl_set_pwr_src, | ||
2259 | }, | 2270 | }, |
2260 | .eeprom_ops = { | 2271 | .eeprom_ops = { |
2261 | .regulatory_bands = { | 2272 | .regulatory_bands = { |
@@ -2267,7 +2278,6 @@ static struct iwl_lib_ops iwl4965_lib = { | |||
2267 | EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS, | 2278 | EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS, |
2268 | EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS | 2279 | EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS |
2269 | }, | 2280 | }, |
2270 | .verify_signature = iwlcore_eeprom_verify_signature, | ||
2271 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, | 2281 | .acquire_semaphore = iwlcore_eeprom_acquire_semaphore, |
2272 | .release_semaphore = iwlcore_eeprom_release_semaphore, | 2282 | .release_semaphore = iwlcore_eeprom_release_semaphore, |
2273 | .calib_version = iwl4965_eeprom_calib_version, | 2283 | .calib_version = iwl4965_eeprom_calib_version, |
@@ -2280,7 +2290,6 @@ static struct iwl_lib_ops iwl4965_lib = { | |||
2280 | .isr = iwl_isr_legacy, | 2290 | .isr = iwl_isr_legacy, |
2281 | .temp_ops = { | 2291 | .temp_ops = { |
2282 | .temperature = iwl4965_temperature_calib, | 2292 | .temperature = iwl4965_temperature_calib, |
2283 | .set_ct_kill = iwl4965_set_ct_threshold, | ||
2284 | }, | 2293 | }, |
2285 | .manage_ibss_station = iwlagn_manage_ibss_station, | 2294 | .manage_ibss_station = iwlagn_manage_ibss_station, |
2286 | .update_bcast_stations = iwl_update_bcast_stations, | 2295 | .update_bcast_stations = iwl_update_bcast_stations, |