Lines Matching refs:priv

37 void iwl_connection_init_rx_config(struct iwl_priv *priv,  in iwl_connection_init_rx_config()  argument
67 IWL_ERR(priv, "Unsupported interface type %d\n", in iwl_connection_init_rx_config()
75 if (!hw_to_local(priv->hw)->short_preamble) in iwl_connection_init_rx_config()
82 cpu_to_le16(priv->hw->conf.chandef.chan->hw_value); in iwl_connection_init_rx_config()
83 priv->band = priv->hw->conf.chandef.chan->band; in iwl_connection_init_rx_config()
85 iwl_set_flags_for_band(priv, ctx, priv->band, ctx->vif); in iwl_connection_init_rx_config()
98 static int iwlagn_disable_bss(struct iwl_priv *priv, in iwlagn_disable_bss() argument
106 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, in iwlagn_disable_bss()
112 IWL_DEBUG_QUIET_RFKILL(priv, in iwlagn_disable_bss()
118 static int iwlagn_disable_pan(struct iwl_priv *priv, in iwlagn_disable_pan() argument
130 iwl_init_notification_wait(&priv->notif_wait, &disable_wait, in iwlagn_disable_pan()
136 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, in iwlagn_disable_pan()
143 IWL_ERR(priv, "Error disabling PAN (%d)\n", ret); in iwlagn_disable_pan()
144 iwl_remove_notification(&priv->notif_wait, &disable_wait); in iwlagn_disable_pan()
146 ret = iwl_wait_notification(&priv->notif_wait, in iwlagn_disable_pan()
149 IWL_ERR(priv, "Timed out waiting for PAN disable\n"); in iwlagn_disable_pan()
155 static int iwlagn_disconn_pan(struct iwl_priv *priv, in iwlagn_disconn_pan() argument
163 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 0, in iwlagn_disconn_pan()
171 static void iwlagn_update_qos(struct iwl_priv *priv, in iwlagn_update_qos() argument
188 IWL_DEBUG_INFO(priv, "send QoS cmd with Qos active=%d FLAGS=0x%X\n", in iwlagn_update_qos()
192 ret = iwl_dvm_send_cmd_pdu(priv, ctx->qos_cmd, 0, in iwlagn_update_qos()
196 IWL_DEBUG_QUIET_RFKILL(priv, "Failed to update QoS\n"); in iwlagn_update_qos()
199 static int iwlagn_update_beacon(struct iwl_priv *priv, in iwlagn_update_beacon() argument
202 lockdep_assert_held(&priv->mutex); in iwlagn_update_beacon()
204 dev_kfree_skb(priv->beacon_skb); in iwlagn_update_beacon()
205 priv->beacon_skb = ieee80211_beacon_get(priv->hw, vif); in iwlagn_update_beacon()
206 if (!priv->beacon_skb) in iwlagn_update_beacon()
208 return iwlagn_send_beacon_cmd(priv); in iwlagn_update_beacon()
211 static int iwlagn_send_rxon_assoc(struct iwl_priv *priv, in iwlagn_send_rxon_assoc() argument
231 IWL_DEBUG_INFO(priv, "Using current RXON_ASSOC. Not resending.\n"); in iwlagn_send_rxon_assoc()
251 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_assoc_cmd, in iwlagn_send_rxon_assoc()
291 static int iwl_send_rxon_timing(struct iwl_priv *priv, in iwl_send_rxon_timing() argument
300 conf = &priv->hw->conf; in iwl_send_rxon_timing()
302 lockdep_assert_held(&priv->mutex); in iwl_send_rxon_timing()
306 ctx->timing.timestamp = cpu_to_le64(priv->timestamp); in iwl_send_rxon_timing()
319 iwl_is_associated(priv, IWL_RXON_CTX_BSS) && in iwl_send_rxon_timing()
320 priv->contexts[IWL_RXON_CTX_BSS].vif && in iwl_send_rxon_timing()
321 priv->contexts[IWL_RXON_CTX_BSS].vif->bss_conf.beacon_int) { in iwl_send_rxon_timing()
323 priv->contexts[IWL_RXON_CTX_BSS].timing.beacon_interval; in iwl_send_rxon_timing()
326 iwl_is_associated(priv, IWL_RXON_CTX_PAN) && in iwl_send_rxon_timing()
327 priv->contexts[IWL_RXON_CTX_PAN].vif && in iwl_send_rxon_timing()
328 priv->contexts[IWL_RXON_CTX_PAN].vif->bss_conf.beacon_int && in iwl_send_rxon_timing()
332 priv->contexts[IWL_RXON_CTX_PAN].timing.beacon_interval; in iwl_send_rxon_timing()
342 tsf = priv->timestamp; /* tsf is modifed by do_div: copy it */ in iwl_send_rxon_timing()
349 IWL_DEBUG_ASSOC(priv, in iwl_send_rxon_timing()
355 return iwl_dvm_send_cmd_pdu(priv, ctx->rxon_timing_cmd, in iwl_send_rxon_timing()
359 static int iwlagn_rxon_disconn(struct iwl_priv *priv, in iwlagn_rxon_disconn() argument
366 ret = iwlagn_disable_bss(priv, ctx, &ctx->staging); in iwlagn_rxon_disconn()
368 ret = iwlagn_disable_pan(priv, ctx, &ctx->staging); in iwlagn_rxon_disconn()
372 ret = iwl_send_rxon_timing(priv, ctx); in iwlagn_rxon_disconn()
374 IWL_ERR(priv, "Failed to send timing (%d)!\n", ret); in iwlagn_rxon_disconn()
377 ret = iwlagn_disconn_pan(priv, ctx, &ctx->staging); in iwlagn_rxon_disconn()
387 iwl_clear_ucode_stations(priv, ctx); in iwlagn_rxon_disconn()
389 iwl_update_bcast_station(priv, ctx); in iwlagn_rxon_disconn()
390 iwl_restore_stations(priv, ctx); in iwlagn_rxon_disconn()
391 ret = iwl_restore_default_wep_keys(priv, ctx); in iwlagn_rxon_disconn()
393 IWL_ERR(priv, "Failed to restore WEP keys (%d)\n", ret); in iwlagn_rxon_disconn()
401 static int iwl_set_tx_power(struct iwl_priv *priv, s8 tx_power, bool force) in iwl_set_tx_power() argument
406 struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; in iwl_set_tx_power()
408 if (priv->calib_disabled & IWL_TX_POWER_CALIB_DISABLED) in iwl_set_tx_power()
411 lockdep_assert_held(&priv->mutex); in iwl_set_tx_power()
413 if (priv->tx_power_user_lmt == tx_power && !force) in iwl_set_tx_power()
417 IWL_WARN(priv, in iwl_set_tx_power()
424 if (tx_power > DIV_ROUND_UP(priv->nvm_data->max_tx_pwr_half_dbm, 2)) { in iwl_set_tx_power()
425 IWL_WARN(priv, in iwl_set_tx_power()
427 tx_power, priv->nvm_data->max_tx_pwr_half_dbm); in iwl_set_tx_power()
431 if (!iwl_is_ready_rf(priv)) in iwl_set_tx_power()
436 priv->tx_power_next = tx_power; in iwl_set_tx_power()
439 defer = test_bit(STATUS_SCANNING, &priv->status) || in iwl_set_tx_power()
442 IWL_DEBUG_INFO(priv, "Deferring tx power set\n"); in iwl_set_tx_power()
446 prev_tx_power = priv->tx_power_user_lmt; in iwl_set_tx_power()
447 priv->tx_power_user_lmt = tx_power; in iwl_set_tx_power()
449 ret = iwlagn_send_tx_power(priv); in iwl_set_tx_power()
453 priv->tx_power_user_lmt = prev_tx_power; in iwl_set_tx_power()
454 priv->tx_power_next = prev_tx_power; in iwl_set_tx_power()
459 static int iwlagn_rxon_connect(struct iwl_priv *priv, in iwlagn_rxon_connect() argument
467 ret = iwl_send_rxon_timing(priv, ctx); in iwlagn_rxon_connect()
469 IWL_ERR(priv, "Failed to send timing (%d)!\n", ret); in iwlagn_rxon_connect()
474 iwlagn_update_qos(priv, ctx); in iwlagn_rxon_connect()
482 ret = iwlagn_update_beacon(priv, ctx->vif); in iwlagn_rxon_connect()
484 IWL_ERR(priv, in iwlagn_rxon_connect()
491 priv->start_calib = 0; in iwlagn_rxon_connect()
498 ret = iwl_dvm_send_cmd_pdu(priv, ctx->rxon_cmd, 0, in iwlagn_rxon_connect()
501 IWL_ERR(priv, "Error setting new RXON (%d)\n", ret); in iwlagn_rxon_connect()
508 if (iwlagn_update_beacon(priv, ctx->vif)) in iwlagn_rxon_connect()
509 IWL_ERR(priv, "Error sending IBSS beacon\n"); in iwlagn_rxon_connect()
510 iwl_init_sensitivity(priv); in iwlagn_rxon_connect()
519 ret = iwl_set_tx_power(priv, priv->tx_power_next, true); in iwlagn_rxon_connect()
521 IWL_ERR(priv, "Error sending TX power (%d)\n", ret); in iwlagn_rxon_connect()
526 priv->cfg->ht_params && priv->cfg->ht_params->smps_mode) in iwlagn_rxon_connect()
528 priv->cfg->ht_params->smps_mode); in iwlagn_rxon_connect()
533 int iwlagn_set_pan_params(struct iwl_priv *priv) in iwlagn_set_pan_params() argument
540 if (priv->valid_contexts == BIT(IWL_RXON_CTX_BSS)) in iwlagn_set_pan_params()
545 lockdep_assert_held(&priv->mutex); in iwlagn_set_pan_params()
547 ctx_bss = &priv->contexts[IWL_RXON_CTX_BSS]; in iwlagn_set_pan_params()
548 ctx_pan = &priv->contexts[IWL_RXON_CTX_PAN]; in iwlagn_set_pan_params()
577 IWL_ERR(priv, in iwlagn_set_pan_params()
588 if (test_bit(STATUS_SCAN_HW, &priv->status) || in iwlagn_set_pan_params()
604 if (test_bit(STATUS_SCAN_HW, &priv->status)) { in iwlagn_set_pan_params()
613 ret = iwl_dvm_send_cmd_pdu(priv, REPLY_WIPAN_PARAMS, 0, in iwlagn_set_pan_params()
616 IWL_ERR(priv, "Error setting PAN parameters (%d)\n", ret); in iwlagn_set_pan_params()
621 static void _iwl_set_rxon_ht(struct iwl_priv *priv, in _iwl_set_rxon_ht() argument
646 if (iwl_is_ht40_tx_allowed(priv, ctx, NULL)) { in _iwl_set_rxon_ht()
686 IWL_ERR(priv, in _iwl_set_rxon_ht()
695 iwlagn_set_rxon_chain(priv, ctx); in _iwl_set_rxon_ht()
697 IWL_DEBUG_ASSOC(priv, "rxon flags 0x%X operation mode :0x%X " in _iwl_set_rxon_ht()
703 void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_config *ht_conf) in iwl_set_rxon_ht() argument
707 for_each_context(priv, ctx) in iwl_set_rxon_ht()
708 _iwl_set_rxon_ht(priv, ht_conf, ctx); in iwl_set_rxon_ht()
718 void iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch, in iwl_set_rxon_channel() argument
725 (priv->band == band)) in iwl_set_rxon_channel()
734 priv->band = band; in iwl_set_rxon_channel()
736 IWL_DEBUG_INFO(priv, "Staging channel set to %d [%d]\n", channel, band); in iwl_set_rxon_channel()
740 void iwl_set_flags_for_band(struct iwl_priv *priv, in iwl_set_flags_for_band() argument
763 static void iwl_set_rxon_hwcrypto(struct iwl_priv *priv, in iwl_set_rxon_hwcrypto() argument
776 static int iwl_check_rxon_cmd(struct iwl_priv *priv, in iwl_check_rxon_cmd() argument
784 IWL_WARN(priv, "check 2.4G: wrong narrow\n"); in iwl_check_rxon_cmd()
788 IWL_WARN(priv, "check 2.4G: wrong radar\n"); in iwl_check_rxon_cmd()
793 IWL_WARN(priv, "check 5.2G: not short slot!\n"); in iwl_check_rxon_cmd()
797 IWL_WARN(priv, "check 5.2G: CCK!\n"); in iwl_check_rxon_cmd()
802 IWL_WARN(priv, "mac/bssid mcast!\n"); in iwl_check_rxon_cmd()
809 IWL_WARN(priv, "neither 1 nor 6 are basic\n"); in iwl_check_rxon_cmd()
814 IWL_WARN(priv, "aid > 2007\n"); in iwl_check_rxon_cmd()
820 IWL_WARN(priv, "CCK and short slot\n"); in iwl_check_rxon_cmd()
826 IWL_WARN(priv, "CCK and auto detect\n"); in iwl_check_rxon_cmd()
833 IWL_WARN(priv, "TGg but no auto-detect\n"); in iwl_check_rxon_cmd()
838 IWL_WARN(priv, "zero channel is invalid\n"); in iwl_check_rxon_cmd()
856 static int iwl_full_rxon_required(struct iwl_priv *priv, in iwl_full_rxon_required() argument
864 IWL_DEBUG_INFO(priv, "need full RXON - " #cond "\n"); \ in iwl_full_rxon_required()
870 IWL_DEBUG_INFO(priv, "need full RXON - " \ in iwl_full_rxon_required()
912 void iwl_print_rx_config_cmd(struct iwl_priv *priv, in iwl_print_rx_config_cmd() argument
915 struct iwl_rxon_context *ctx = &priv->contexts[ctxid]; in iwl_print_rx_config_cmd()
918 IWL_DEBUG_RADIO(priv, "RX CONFIG:\n"); in iwl_print_rx_config_cmd()
919 iwl_print_hex_dump(priv, IWL_DL_RADIO, (u8 *) rxon, sizeof(*rxon)); in iwl_print_rx_config_cmd()
920 IWL_DEBUG_RADIO(priv, "u16 channel: 0x%x\n", in iwl_print_rx_config_cmd()
922 IWL_DEBUG_RADIO(priv, "u32 flags: 0x%08X\n", in iwl_print_rx_config_cmd()
924 IWL_DEBUG_RADIO(priv, "u32 filter_flags: 0x%08x\n", in iwl_print_rx_config_cmd()
926 IWL_DEBUG_RADIO(priv, "u8 dev_type: 0x%x\n", rxon->dev_type); in iwl_print_rx_config_cmd()
927 IWL_DEBUG_RADIO(priv, "u8 ofdm_basic_rates: 0x%02x\n", in iwl_print_rx_config_cmd()
929 IWL_DEBUG_RADIO(priv, "u8 cck_basic_rates: 0x%02x\n", in iwl_print_rx_config_cmd()
931 IWL_DEBUG_RADIO(priv, "u8[6] node_addr: %pM\n", rxon->node_addr); in iwl_print_rx_config_cmd()
932 IWL_DEBUG_RADIO(priv, "u8[6] bssid_addr: %pM\n", rxon->bssid_addr); in iwl_print_rx_config_cmd()
933 IWL_DEBUG_RADIO(priv, "u16 assoc_id: 0x%x\n", in iwl_print_rx_config_cmd()
938 static void iwl_calc_basic_rates(struct iwl_priv *priv, in iwl_calc_basic_rates() argument
951 sband = priv->hw->wiphy->bands[priv->hw->conf.chandef.chan->band]; in iwl_calc_basic_rates()
1021 IWL_DEBUG_RATE(priv, "Set basic rates cck:0x%.2x ofdm:0x%.2x\n", in iwl_calc_basic_rates()
1047 int iwlagn_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx) in iwlagn_commit_rxon() argument
1054 lockdep_assert_held(&priv->mutex); in iwlagn_commit_rxon()
1056 if (!iwl_is_alive(priv)) in iwlagn_commit_rxon()
1069 iwl_calc_basic_rates(priv, ctx); in iwlagn_commit_rxon()
1075 if (!priv->hw_params.use_rts_for_aggregation) in iwlagn_commit_rxon()
1084 iwl_print_rx_config_cmd(priv, ctx->ctxid); in iwlagn_commit_rxon()
1085 ret = iwl_check_rxon_cmd(priv, ctx); in iwlagn_commit_rxon()
1087 IWL_ERR(priv, "Invalid RXON configuration. Not committing.\n"); in iwlagn_commit_rxon()
1095 if (test_bit(STATUS_CHANNEL_SWITCH_PENDING, &priv->status) && in iwlagn_commit_rxon()
1096 (priv->switch_channel != ctx->staging.channel)) { in iwlagn_commit_rxon()
1097 IWL_DEBUG_11H(priv, "abort channel switch on %d\n", in iwlagn_commit_rxon()
1098 le16_to_cpu(priv->switch_channel)); in iwlagn_commit_rxon()
1099 iwl_chswitch_done(priv, false); in iwlagn_commit_rxon()
1107 if (!iwl_full_rxon_required(priv, ctx)) { in iwlagn_commit_rxon()
1108 ret = iwlagn_send_rxon_assoc(priv, ctx); in iwlagn_commit_rxon()
1110 IWL_ERR(priv, "Error setting RXON_ASSOC (%d)\n", ret); in iwlagn_commit_rxon()
1119 iwl_set_tx_power(priv, priv->tx_power_next, false); in iwlagn_commit_rxon()
1122 iwl_power_update_mode(priv, true); in iwlagn_commit_rxon()
1127 iwl_set_rxon_hwcrypto(priv, ctx, !iwlwifi_mod_params.sw_crypto); in iwlagn_commit_rxon()
1129 IWL_DEBUG_INFO(priv, in iwlagn_commit_rxon()
1144 ret = iwlagn_rxon_disconn(priv, ctx); in iwlagn_commit_rxon()
1148 ret = iwlagn_set_pan_params(priv); in iwlagn_commit_rxon()
1153 return iwlagn_rxon_connect(priv, ctx); in iwlagn_commit_rxon()
1178 struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw); in iwlagn_mac_config() local
1184 IWL_DEBUG_MAC80211(priv, "enter: changed %#x\n", changed); in iwlagn_mac_config()
1186 mutex_lock(&priv->mutex); in iwlagn_mac_config()
1188 if (unlikely(test_bit(STATUS_SCANNING, &priv->status))) { in iwlagn_mac_config()
1189 IWL_DEBUG_MAC80211(priv, "leave - scanning\n"); in iwlagn_mac_config()
1193 if (!iwl_is_ready(priv)) { in iwlagn_mac_config()
1194 IWL_DEBUG_MAC80211(priv, "leave - not ready\n"); in iwlagn_mac_config()
1201 priv->current_ht_config.smps = conf->smps_mode; in iwlagn_mac_config()
1210 for_each_context(priv, ctx) in iwlagn_mac_config()
1211 iwlagn_set_rxon_chain(priv, ctx); in iwlagn_mac_config()
1215 for_each_context(priv, ctx) { in iwlagn_mac_config()
1242 iwl_set_rxon_channel(priv, channel, ctx); in iwlagn_mac_config()
1243 iwl_set_rxon_ht(priv, &priv->current_ht_config); in iwlagn_mac_config()
1245 iwl_set_flags_for_band(priv, ctx, channel->band, in iwlagn_mac_config()
1249 iwl_update_bcast_stations(priv); in iwlagn_mac_config()
1254 ret = iwl_power_update_mode(priv, false); in iwlagn_mac_config()
1256 IWL_DEBUG_MAC80211(priv, "Error setting sleep level\n"); in iwlagn_mac_config()
1260 IWL_DEBUG_MAC80211(priv, "TX Power old=%d new=%d\n", in iwlagn_mac_config()
1261 priv->tx_power_user_lmt, conf->power_level); in iwlagn_mac_config()
1263 iwl_set_tx_power(priv, conf->power_level, false); in iwlagn_mac_config()
1266 for_each_context(priv, ctx) { in iwlagn_mac_config()
1269 iwlagn_commit_rxon(priv, ctx); in iwlagn_mac_config()
1272 mutex_unlock(&priv->mutex); in iwlagn_mac_config()
1273 IWL_DEBUG_MAC80211(priv, "leave\n"); in iwlagn_mac_config()
1278 static void iwlagn_check_needed_chains(struct iwl_priv *priv, in iwlagn_check_needed_chains() argument
1285 struct iwl_ht_config *ht_conf = &priv->current_ht_config; in iwlagn_check_needed_chains()
1289 lockdep_assert_held(&priv->mutex); in iwlagn_check_needed_chains()
1359 for_each_context(priv, tmp) { in iwlagn_check_needed_chains()
1372 static void iwlagn_chain_noise_reset(struct iwl_priv *priv) in iwlagn_chain_noise_reset() argument
1374 struct iwl_chain_noise_data *data = &priv->chain_noise_data; in iwlagn_chain_noise_reset()
1377 if (priv->calib_disabled & IWL_CHAIN_NOISE_CALIB_DISABLED) in iwlagn_chain_noise_reset()
1381 iwl_is_any_associated(priv)) { in iwlagn_chain_noise_reset()
1395 priv->phy_calib_chain_noise_reset_cmd); in iwlagn_chain_noise_reset()
1396 ret = iwl_dvm_send_cmd_pdu(priv, in iwlagn_chain_noise_reset()
1400 IWL_ERR(priv, in iwlagn_chain_noise_reset()
1403 IWL_DEBUG_CALIB(priv, "Run chain_noise_calibrate\n"); in iwlagn_chain_noise_reset()
1412 struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw); in iwlagn_bss_info_changed() local
1417 mutex_lock(&priv->mutex); in iwlagn_bss_info_changed()
1424 iwlagn_lift_passive_no_rx(priv); in iwlagn_bss_info_changed()
1427 if (unlikely(!iwl_is_ready(priv))) { in iwlagn_bss_info_changed()
1428 IWL_DEBUG_MAC80211(priv, "leave - not ready\n"); in iwlagn_bss_info_changed()
1429 mutex_unlock(&priv->mutex); in iwlagn_bss_info_changed()
1434 IWL_DEBUG_MAC80211(priv, "leave - vif is NULL\n"); in iwlagn_bss_info_changed()
1435 mutex_unlock(&priv->mutex); in iwlagn_bss_info_changed()
1444 iwlagn_update_qos(priv, ctx); in iwlagn_bss_info_changed()
1455 priv->timestamp = bss_conf->sync_tsf; in iwlagn_bss_info_changed()
1461 priv->have_rekey_data = false; in iwlagn_bss_info_changed()
1464 iwlagn_bt_coex_rssi_monitor(priv); in iwlagn_bss_info_changed()
1472 iwlagn_check_needed_chains(priv, ctx, bss_conf); in iwlagn_bss_info_changed()
1473 iwl_set_rxon_ht(priv, &priv->current_ht_config); in iwlagn_bss_info_changed()
1476 iwlagn_set_rxon_chain(priv, ctx); in iwlagn_bss_info_changed()
1478 if (bss_conf->use_cts_prot && (priv->band != IEEE80211_BAND_5GHZ)) in iwlagn_bss_info_changed()
1494 priv->beacon_ctx = ctx; in iwlagn_bss_info_changed()
1497 priv->beacon_ctx = NULL; in iwlagn_bss_info_changed()
1518 iwlagn_commit_rxon(priv, ctx); in iwlagn_bss_info_changed()
1526 if (priv->chain_noise_data.state == IWL_CHAIN_NOISE_DONE) in iwlagn_bss_info_changed()
1527 iwl_power_update_mode(priv, false); in iwlagn_bss_info_changed()
1530 iwlagn_chain_noise_reset(priv); in iwlagn_bss_info_changed()
1531 priv->start_calib = 1; in iwlagn_bss_info_changed()
1535 ret = iwlagn_manage_ibss_station(priv, vif, in iwlagn_bss_info_changed()
1538 IWL_ERR(priv, "failed to %s IBSS station %pM\n", in iwlagn_bss_info_changed()
1543 if (changes & BSS_CHANGED_BEACON && priv->beacon_ctx == ctx) { in iwlagn_bss_info_changed()
1544 if (iwlagn_update_beacon(priv, vif)) in iwlagn_bss_info_changed()
1545 IWL_ERR(priv, "Error updating beacon\n"); in iwlagn_bss_info_changed()
1548 mutex_unlock(&priv->mutex); in iwlagn_bss_info_changed()
1551 void iwlagn_post_scan(struct iwl_priv *priv) in iwlagn_post_scan() argument
1559 iwl_power_set_mode(priv, &priv->power_data.sleep_cmd_next, false); in iwlagn_post_scan()
1560 iwl_set_tx_power(priv, priv->tx_power_next, false); in iwlagn_post_scan()
1566 for_each_context(priv, ctx) in iwlagn_post_scan()
1568 iwlagn_commit_rxon(priv, ctx); in iwlagn_post_scan()
1570 iwlagn_set_pan_params(priv); in iwlagn_post_scan()