Lines Matching refs:priv
40 mwifiex_cmd_append_generic_ie(struct mwifiex_private *priv, u8 **buffer) in mwifiex_cmd_append_generic_ie() argument
55 if (priv->gen_ie_buf_len) { in mwifiex_cmd_append_generic_ie()
56 dev_dbg(priv->adapter->dev, in mwifiex_cmd_append_generic_ie()
58 __func__, priv->gen_ie_buf_len, *buffer); in mwifiex_cmd_append_generic_ie()
62 ie_header.len = cpu_to_le16(priv->gen_ie_buf_len); in mwifiex_cmd_append_generic_ie()
72 memcpy(*buffer, priv->gen_ie_buf, priv->gen_ie_buf_len); in mwifiex_cmd_append_generic_ie()
76 *buffer += priv->gen_ie_buf_len; in mwifiex_cmd_append_generic_ie()
77 ret_len += priv->gen_ie_buf_len; in mwifiex_cmd_append_generic_ie()
80 priv->gen_ie_buf_len = 0; in mwifiex_cmd_append_generic_ie()
101 mwifiex_cmd_append_tsf_tlv(struct mwifiex_private *priv, u8 **buffer, in mwifiex_cmd_append_tsf_tlv() argument
128 dev_dbg(priv->adapter->dev, in mwifiex_cmd_append_tsf_tlv()
146 static int mwifiex_get_common_rates(struct mwifiex_private *priv, u8 *rate1, in mwifiex_get_common_rates() argument
155 dev_err(priv->adapter->dev, "failed to alloc tmp buf\n"); in mwifiex_get_common_rates()
172 dev_dbg(priv->adapter->dev, "info: Tx data rate set to %#x\n", in mwifiex_get_common_rates()
173 priv->data_rate); in mwifiex_get_common_rates()
175 if (!priv->is_data_rate_auto) { in mwifiex_get_common_rates()
177 if ((*ptr & 0x7f) == priv->data_rate) { in mwifiex_get_common_rates()
183 dev_err(priv->adapter->dev, "previously set fixed data rate %#x" in mwifiex_get_common_rates()
185 priv->data_rate); in mwifiex_get_common_rates()
202 mwifiex_setup_rates_from_bssdesc(struct mwifiex_private *priv, in mwifiex_setup_rates_from_bssdesc() argument
212 card_rates_size = mwifiex_get_active_data_rates(priv, card_rates); in mwifiex_setup_rates_from_bssdesc()
214 if (mwifiex_get_common_rates(priv, out_rates, MWIFIEX_SUPPORTED_RATES, in mwifiex_setup_rates_from_bssdesc()
217 dev_err(priv->adapter->dev, "%s: cannot get common rates\n", in mwifiex_setup_rates_from_bssdesc()
236 mwifiex_cmd_append_wps_ie(struct mwifiex_private *priv, u8 **buffer) in mwifiex_cmd_append_wps_ie() argument
248 if (priv->wps_ie_len) { in mwifiex_cmd_append_wps_ie()
249 dev_dbg(priv->adapter->dev, "cmd: append wps ie %d to %p\n", in mwifiex_cmd_append_wps_ie()
250 priv->wps_ie_len, *buffer); in mwifiex_cmd_append_wps_ie()
254 ie_header.len = cpu_to_le16(priv->wps_ie_len); in mwifiex_cmd_append_wps_ie()
259 memcpy(*buffer, priv->wps_ie, priv->wps_ie_len); in mwifiex_cmd_append_wps_ie()
260 *buffer += priv->wps_ie_len; in mwifiex_cmd_append_wps_ie()
261 retLen += priv->wps_ie_len; in mwifiex_cmd_append_wps_ie()
265 kfree(priv->wps_ie); in mwifiex_cmd_append_wps_ie()
266 priv->wps_ie_len = 0; in mwifiex_cmd_append_wps_ie()
279 mwifiex_cmd_append_wapi_ie(struct mwifiex_private *priv, u8 **buffer) in mwifiex_cmd_append_wapi_ie() argument
294 if (priv->wapi_ie_len) { in mwifiex_cmd_append_wapi_ie()
295 dev_dbg(priv->adapter->dev, "cmd: append wapi ie %d to %p\n", in mwifiex_cmd_append_wapi_ie()
296 priv->wapi_ie_len, *buffer); in mwifiex_cmd_append_wapi_ie()
300 ie_header.len = cpu_to_le16(priv->wapi_ie_len); in mwifiex_cmd_append_wapi_ie()
310 memcpy(*buffer, priv->wapi_ie, priv->wapi_ie_len); in mwifiex_cmd_append_wapi_ie()
314 *buffer += priv->wapi_ie_len; in mwifiex_cmd_append_wapi_ie()
315 retLen += priv->wapi_ie_len; in mwifiex_cmd_append_wapi_ie()
326 static int mwifiex_append_rsn_ie_wpa_wpa2(struct mwifiex_private *priv, in mwifiex_append_rsn_ie_wpa_wpa2() argument
336 rsn_ie_tlv->header.type = cpu_to_le16((u16) priv->wpa_ie[0]); in mwifiex_append_rsn_ie_wpa_wpa2()
339 rsn_ie_tlv->header.len = cpu_to_le16((u16) priv->wpa_ie[1]); in mwifiex_append_rsn_ie_wpa_wpa2()
342 if (le16_to_cpu(rsn_ie_tlv->header.len) <= (sizeof(priv->wpa_ie) - 2)) in mwifiex_append_rsn_ie_wpa_wpa2()
343 memcpy(rsn_ie_tlv->rsn_ie, &priv->wpa_ie[2], in mwifiex_append_rsn_ie_wpa_wpa2()
383 int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv, in mwifiex_cmd_802_11_associate() argument
405 priv->attempted_bss_desc = bss_desc; in mwifiex_cmd_802_11_associate()
412 assoc->listen_interval = cpu_to_le16(priv->listen_interval); in mwifiex_cmd_802_11_associate()
443 (priv, bss_desc, rates, &rates_size)) in mwifiex_cmd_802_11_associate()
447 priv->curr_bss_params.num_of_rates = rates_size; in mwifiex_cmd_802_11_associate()
448 memcpy(&priv->curr_bss_params.data_rates, rates, rates_size); in mwifiex_cmd_802_11_associate()
456 dev_dbg(priv->adapter->dev, "info: ASSOC_CMD: rates size = %d\n", in mwifiex_cmd_802_11_associate()
463 if (priv->sec_info.wep_enabled) in mwifiex_cmd_802_11_associate()
465 (u16) priv->sec_info.authentication_mode); in mwifiex_cmd_802_11_associate()
471 if (IS_SUPPORT_MULTI_BANDS(priv->adapter) && in mwifiex_cmd_802_11_associate()
472 !(ISSUPP_11NENABLED(priv->adapter->fw_cap_info) && in mwifiex_cmd_802_11_associate()
474 (priv->adapter->config_bands & BAND_GN || in mwifiex_cmd_802_11_associate()
475 priv->adapter->config_bands & BAND_AN) && in mwifiex_cmd_802_11_associate()
490 dev_dbg(priv->adapter->dev, "info: Assoc: TLV Chan = %d\n", in mwifiex_cmd_802_11_associate()
496 dev_dbg(priv->adapter->dev, "info: Assoc: TLV Band = %d\n", in mwifiex_cmd_802_11_associate()
502 if (!priv->wps.session_enable) { in mwifiex_cmd_802_11_associate()
503 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled) in mwifiex_cmd_802_11_associate()
504 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos); in mwifiex_cmd_802_11_associate()
510 if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info) && in mwifiex_cmd_802_11_associate()
512 (priv->adapter->config_bands & BAND_GN || in mwifiex_cmd_802_11_associate()
513 priv->adapter->config_bands & BAND_AN)) in mwifiex_cmd_802_11_associate()
514 mwifiex_cmd_append_11n_tlv(priv, bss_desc, &pos); in mwifiex_cmd_802_11_associate()
516 if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) && in mwifiex_cmd_802_11_associate()
518 priv->adapter->config_bands & BAND_AAC) in mwifiex_cmd_802_11_associate()
519 mwifiex_cmd_append_11ac_tlv(priv, bss_desc, &pos); in mwifiex_cmd_802_11_associate()
522 mwifiex_cmd_append_vsie_tlv(priv, MWIFIEX_VSIE_MASK_ASSOC, &pos); in mwifiex_cmd_802_11_associate()
524 mwifiex_wmm_process_association_req(priv, &pos, &bss_desc->wmm_ie, in mwifiex_cmd_802_11_associate()
526 if (priv->sec_info.wapi_enabled && priv->wapi_ie_len) in mwifiex_cmd_802_11_associate()
527 mwifiex_cmd_append_wapi_ie(priv, &pos); in mwifiex_cmd_802_11_associate()
529 if (priv->wps.session_enable && priv->wps_ie_len) in mwifiex_cmd_802_11_associate()
530 mwifiex_cmd_append_wps_ie(priv, &pos); in mwifiex_cmd_802_11_associate()
532 mwifiex_cmd_append_generic_ie(priv, &pos); in mwifiex_cmd_802_11_associate()
534 mwifiex_cmd_append_tsf_tlv(priv, &pos, bss_desc); in mwifiex_cmd_802_11_associate()
536 mwifiex_11h_process_join(priv, &pos, bss_desc); in mwifiex_cmd_802_11_associate()
543 if (priv->adapter->config_bands == BAND_B) in mwifiex_cmd_802_11_associate()
547 dev_dbg(priv->adapter->dev, "info: ASSOC_CMD: tmp_cap=%4X CAPINFO_MASK=%4lX\n", in mwifiex_cmd_802_11_associate()
616 int mwifiex_ret_802_11_associate(struct mwifiex_private *priv, in mwifiex_ret_802_11_associate() argument
619 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_802_11_associate()
631 priv->assoc_rsp_size = min(le16_to_cpu(resp->size) - S_DS_GEN, in mwifiex_ret_802_11_associate()
632 sizeof(priv->assoc_rsp_buf)); in mwifiex_ret_802_11_associate()
634 memcpy(priv->assoc_rsp_buf, &resp->params, priv->assoc_rsp_size); in mwifiex_ret_802_11_associate()
637 priv->adapter->dbg.num_cmd_assoc_failure++; in mwifiex_ret_802_11_associate()
638 dev_err(priv->adapter->dev, in mwifiex_ret_802_11_associate()
655 priv->media_connected = true; in mwifiex_ret_802_11_associate()
657 priv->adapter->ps_state = PS_STATE_AWAKE; in mwifiex_ret_802_11_associate()
658 priv->adapter->pps_uapsd_mode = false; in mwifiex_ret_802_11_associate()
659 priv->adapter->tx_lock_flag = false; in mwifiex_ret_802_11_associate()
662 bss_desc = priv->attempted_bss_desc; in mwifiex_ret_802_11_associate()
664 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: %s\n", in mwifiex_ret_802_11_associate()
668 memcpy(&priv->curr_bss_params.bss_descriptor, in mwifiex_ret_802_11_associate()
672 priv->curr_bss_params.bss_descriptor.channel in mwifiex_ret_802_11_associate()
675 priv->curr_bss_params.band = (u8) bss_desc->bss_band; in mwifiex_ret_802_11_associate()
678 priv->curr_bss_params.wmm_enabled = true; in mwifiex_ret_802_11_associate()
680 priv->curr_bss_params.wmm_enabled = false; in mwifiex_ret_802_11_associate()
682 if ((priv->wmm_required || bss_desc->bcn_ht_cap) && in mwifiex_ret_802_11_associate()
683 priv->curr_bss_params.wmm_enabled) in mwifiex_ret_802_11_associate()
684 priv->wmm_enabled = true; in mwifiex_ret_802_11_associate()
686 priv->wmm_enabled = false; in mwifiex_ret_802_11_associate()
688 priv->curr_bss_params.wmm_uapsd_enabled = false; in mwifiex_ret_802_11_associate()
690 if (priv->wmm_enabled) in mwifiex_ret_802_11_associate()
691 priv->curr_bss_params.wmm_uapsd_enabled in mwifiex_ret_802_11_associate()
695 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: curr_pkt_filter is %#x\n", in mwifiex_ret_802_11_associate()
696 priv->curr_pkt_filter); in mwifiex_ret_802_11_associate()
697 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled) in mwifiex_ret_802_11_associate()
698 priv->wpa_is_gtk_set = false; in mwifiex_ret_802_11_associate()
700 if (priv->wmm_enabled) { in mwifiex_ret_802_11_associate()
707 mwifiex_wmm_setup_queue_priorities(priv, NULL); in mwifiex_ret_802_11_associate()
708 mwifiex_wmm_setup_ac_downgrade(priv); in mwifiex_ret_802_11_associate()
712 dev_dbg(priv->adapter->dev, in mwifiex_ret_802_11_associate()
716 priv->data_rssi_last = 0; in mwifiex_ret_802_11_associate()
717 priv->data_nf_last = 0; in mwifiex_ret_802_11_associate()
718 priv->data_rssi_avg = 0; in mwifiex_ret_802_11_associate()
719 priv->data_nf_avg = 0; in mwifiex_ret_802_11_associate()
720 priv->bcn_rssi_last = 0; in mwifiex_ret_802_11_associate()
721 priv->bcn_nf_last = 0; in mwifiex_ret_802_11_associate()
722 priv->bcn_rssi_avg = 0; in mwifiex_ret_802_11_associate()
723 priv->bcn_nf_avg = 0; in mwifiex_ret_802_11_associate()
724 priv->rxpd_rate = 0; in mwifiex_ret_802_11_associate()
725 priv->rxpd_htinfo = 0; in mwifiex_ret_802_11_associate()
727 mwifiex_save_curr_bcn(priv); in mwifiex_ret_802_11_associate()
729 priv->adapter->dbg.num_cmd_assoc_success++; in mwifiex_ret_802_11_associate()
731 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: associated\n"); in mwifiex_ret_802_11_associate()
735 mwifiex_ralist_add(priv, in mwifiex_ret_802_11_associate()
736 priv->curr_bss_params.bss_descriptor.mac_address); in mwifiex_ret_802_11_associate()
738 if (!netif_carrier_ok(priv->netdev)) in mwifiex_ret_802_11_associate()
739 netif_carrier_on(priv->netdev); in mwifiex_ret_802_11_associate()
740 mwifiex_wake_up_net_dev_queue(priv->netdev, adapter); in mwifiex_ret_802_11_associate()
742 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled) in mwifiex_ret_802_11_associate()
743 priv->scan_block = true; in mwifiex_ret_802_11_associate()
776 mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv, in mwifiex_cmd_802_11_ad_hoc_start() argument
781 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_cmd_802_11_ad_hoc_start()
801 bss_desc = &priv->curr_bss_params.bss_descriptor; in mwifiex_cmd_802_11_ad_hoc_start()
802 priv->attempted_bss_desc = bss_desc; in mwifiex_cmd_802_11_ad_hoc_start()
829 adhoc_start->beacon_period = cpu_to_le16(priv->beacon_period); in mwifiex_cmd_802_11_ad_hoc_start()
830 bss_desc->beacon_period = priv->beacon_period; in mwifiex_cmd_802_11_ad_hoc_start()
841 if (!mwifiex_get_cfp(priv, adapter->adhoc_start_band, in mwifiex_cmd_802_11_ad_hoc_start()
842 (u16) priv->adhoc_channel, 0)) { in mwifiex_cmd_802_11_ad_hoc_start()
844 cfp = mwifiex_get_cfp(priv, adapter->adhoc_start_band, in mwifiex_cmd_802_11_ad_hoc_start()
847 priv->adhoc_channel = (u8) cfp->channel; in mwifiex_cmd_802_11_ad_hoc_start()
850 if (!priv->adhoc_channel) { in mwifiex_cmd_802_11_ad_hoc_start()
856 priv->adhoc_channel); in mwifiex_cmd_802_11_ad_hoc_start()
858 priv->curr_bss_params.bss_descriptor.channel = priv->adhoc_channel; in mwifiex_cmd_802_11_ad_hoc_start()
859 priv->curr_bss_params.band = adapter->adhoc_start_band; in mwifiex_cmd_802_11_ad_hoc_start()
861 bss_desc->channel = priv->adhoc_channel; in mwifiex_cmd_802_11_ad_hoc_start()
863 priv->adhoc_channel; in mwifiex_cmd_802_11_ad_hoc_start()
877 = cpu_to_le16(priv->atim_window); in mwifiex_cmd_802_11_ad_hoc_start()
886 if (priv->sec_info.encryption_mode) { in mwifiex_cmd_802_11_ad_hoc_start()
899 mwifiex_get_active_data_rates(priv, adhoc_start->data_rate); in mwifiex_cmd_802_11_ad_hoc_start()
901 (priv->curr_pkt_filter & HostCmd_ACT_MAC_ADHOC_G_PROTECTION_ON)) { in mwifiex_cmd_802_11_ad_hoc_start()
902 if (mwifiex_send_cmd(priv, HostCmd_CMD_MAC_CONTROL, in mwifiex_cmd_802_11_ad_hoc_start()
904 &priv->curr_pkt_filter, false)) { in mwifiex_cmd_802_11_ad_hoc_start()
915 priv->curr_bss_params.num_of_rates = i; in mwifiex_cmd_802_11_ad_hoc_start()
918 memcpy(&priv->curr_bss_params.data_rates, in mwifiex_cmd_802_11_ad_hoc_start()
919 &adhoc_start->data_rate, priv->curr_bss_params.num_of_rates); in mwifiex_cmd_802_11_ad_hoc_start()
936 (u8) priv->curr_bss_params.bss_descriptor.channel; in mwifiex_cmd_802_11_ad_hoc_start()
942 = mwifiex_band_to_radio_type(priv->curr_bss_params.band); in mwifiex_cmd_802_11_ad_hoc_start()
964 cmd_append_size += mwifiex_cmd_append_vsie_tlv(priv, in mwifiex_cmd_802_11_ad_hoc_start()
967 if (priv->sec_info.wpa_enabled) { in mwifiex_cmd_802_11_ad_hoc_start()
968 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos); in mwifiex_cmd_802_11_ad_hoc_start()
982 priv->adapter->config_bands); in mwifiex_cmd_802_11_ad_hoc_start()
983 mwifiex_fill_cap_info(priv, radio_type, &ht_cap->ht_cap); in mwifiex_cmd_802_11_ad_hoc_start()
1006 (u8) priv->curr_bss_params.bss_descriptor.channel; in mwifiex_cmd_802_11_ad_hoc_start()
1051 mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv, in mwifiex_cmd_802_11_ad_hoc_join() argument
1071 priv-> in mwifiex_cmd_802_11_ad_hoc_join()
1074 if (mwifiex_send_cmd(priv, HostCmd_CMD_MAC_CONTROL, in mwifiex_cmd_802_11_ad_hoc_join()
1077 dev_err(priv->adapter->dev, in mwifiex_cmd_802_11_ad_hoc_join()
1083 priv->attempted_bss_desc = bss_desc; in mwifiex_cmd_802_11_ad_hoc_join()
1109 dev_dbg(priv->adapter->dev, in mwifiex_cmd_802_11_ad_hoc_join()
1114 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: BSSID=%pM, SSID='%s'\n", in mwifiex_cmd_802_11_ad_hoc_join()
1130 priv->curr_bss_params.num_of_rates = rates_size; in mwifiex_cmd_802_11_ad_hoc_join()
1131 memcpy(&priv->curr_bss_params.data_rates, bss_desc->supported_rates, in mwifiex_cmd_802_11_ad_hoc_join()
1135 priv->curr_bss_params.bss_descriptor.channel = bss_desc->channel; in mwifiex_cmd_802_11_ad_hoc_join()
1136 priv->curr_bss_params.band = (u8) bss_desc->bss_band; in mwifiex_cmd_802_11_ad_hoc_join()
1138 if (priv->sec_info.wep_enabled || priv->sec_info.wpa_enabled) in mwifiex_cmd_802_11_ad_hoc_join()
1141 if (IS_SUPPORT_MULTI_BANDS(priv->adapter)) { in mwifiex_cmd_802_11_ad_hoc_join()
1152 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: TLV Chan=%d\n", in mwifiex_cmd_802_11_ad_hoc_join()
1158 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: TLV Band=%d\n", in mwifiex_cmd_802_11_ad_hoc_join()
1166 if (priv->sec_info.wpa_enabled) in mwifiex_cmd_802_11_ad_hoc_join()
1167 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos); in mwifiex_cmd_802_11_ad_hoc_join()
1172 if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info)) in mwifiex_cmd_802_11_ad_hoc_join()
1173 cmd_append_size += mwifiex_cmd_append_11n_tlv(priv, in mwifiex_cmd_802_11_ad_hoc_join()
1177 cmd_append_size += mwifiex_cmd_append_vsie_tlv(priv, in mwifiex_cmd_802_11_ad_hoc_join()
1197 int mwifiex_ret_802_11_ad_hoc(struct mwifiex_private *priv, in mwifiex_ret_802_11_ad_hoc() argument
1201 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_802_11_ad_hoc()
1208 bss_desc = priv->attempted_bss_desc; in mwifiex_ret_802_11_ad_hoc()
1213 dev_err(priv->adapter->dev, "ADHOC_RESP: failed\n"); in mwifiex_ret_802_11_ad_hoc()
1214 if (priv->media_connected) in mwifiex_ret_802_11_ad_hoc()
1215 mwifiex_reset_connect_state(priv, reason_code); in mwifiex_ret_802_11_ad_hoc()
1217 memset(&priv->curr_bss_params.bss_descriptor, in mwifiex_ret_802_11_ad_hoc()
1225 priv->media_connected = true; in mwifiex_ret_802_11_ad_hoc()
1228 dev_dbg(priv->adapter->dev, "info: ADHOC_S_RESP %s\n", in mwifiex_ret_802_11_ad_hoc()
1235 priv->adhoc_state = ADHOC_STARTED; in mwifiex_ret_802_11_ad_hoc()
1241 dev_dbg(priv->adapter->dev, "info: ADHOC_J_RESP %s\n", in mwifiex_ret_802_11_ad_hoc()
1249 memcpy(&priv->curr_bss_params.bss_descriptor, in mwifiex_ret_802_11_ad_hoc()
1252 priv->adhoc_state = ADHOC_JOINED; in mwifiex_ret_802_11_ad_hoc()
1255 dev_dbg(priv->adapter->dev, "info: ADHOC_RESP: channel = %d\n", in mwifiex_ret_802_11_ad_hoc()
1256 priv->adhoc_channel); in mwifiex_ret_802_11_ad_hoc()
1257 dev_dbg(priv->adapter->dev, "info: ADHOC_RESP: BSSID = %pM\n", in mwifiex_ret_802_11_ad_hoc()
1258 priv->curr_bss_params.bss_descriptor.mac_address); in mwifiex_ret_802_11_ad_hoc()
1260 if (!netif_carrier_ok(priv->netdev)) in mwifiex_ret_802_11_ad_hoc()
1261 netif_carrier_on(priv->netdev); in mwifiex_ret_802_11_ad_hoc()
1262 mwifiex_wake_up_net_dev_queue(priv->netdev, adapter); in mwifiex_ret_802_11_ad_hoc()
1264 mwifiex_save_curr_bcn(priv); in mwifiex_ret_802_11_ad_hoc()
1286 int mwifiex_associate(struct mwifiex_private *priv, in mwifiex_associate() argument
1292 if ((GET_BSS_ROLE(priv) != MWIFIEX_BSS_ROLE_STA) || in mwifiex_associate()
1296 if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) && in mwifiex_associate()
1298 priv->adapter->config_bands & BAND_AAC) in mwifiex_associate()
1299 mwifiex_set_11ac_ba_params(priv); in mwifiex_associate()
1301 mwifiex_set_ba_params(priv); in mwifiex_associate()
1305 priv->assoc_rsp_size = 0; in mwifiex_associate()
1307 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_ASSOCIATE, in mwifiex_associate()
1317 mwifiex_adhoc_start(struct mwifiex_private *priv, in mwifiex_adhoc_start() argument
1320 dev_dbg(priv->adapter->dev, "info: Adhoc Channel = %d\n", in mwifiex_adhoc_start()
1321 priv->adhoc_channel); in mwifiex_adhoc_start()
1322 dev_dbg(priv->adapter->dev, "info: curr_bss_params.channel = %d\n", in mwifiex_adhoc_start()
1323 priv->curr_bss_params.bss_descriptor.channel); in mwifiex_adhoc_start()
1324 dev_dbg(priv->adapter->dev, "info: curr_bss_params.band = %d\n", in mwifiex_adhoc_start()
1325 priv->curr_bss_params.band); in mwifiex_adhoc_start()
1327 if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) && in mwifiex_adhoc_start()
1328 priv->adapter->config_bands & BAND_AAC) in mwifiex_adhoc_start()
1329 mwifiex_set_11ac_ba_params(priv); in mwifiex_adhoc_start()
1331 mwifiex_set_ba_params(priv); in mwifiex_adhoc_start()
1333 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_AD_HOC_START, in mwifiex_adhoc_start()
1343 int mwifiex_adhoc_join(struct mwifiex_private *priv, in mwifiex_adhoc_join() argument
1346 dev_dbg(priv->adapter->dev, "info: adhoc join: curr_bss ssid =%s\n", in mwifiex_adhoc_join()
1347 priv->curr_bss_params.bss_descriptor.ssid.ssid); in mwifiex_adhoc_join()
1348 dev_dbg(priv->adapter->dev, "info: adhoc join: curr_bss ssid_len =%u\n", in mwifiex_adhoc_join()
1349 priv->curr_bss_params.bss_descriptor.ssid.ssid_len); in mwifiex_adhoc_join()
1350 dev_dbg(priv->adapter->dev, "info: adhoc join: ssid =%s\n", in mwifiex_adhoc_join()
1352 dev_dbg(priv->adapter->dev, "info: adhoc join: ssid_len =%u\n", in mwifiex_adhoc_join()
1356 if (priv->curr_bss_params.bss_descriptor.ssid.ssid_len && in mwifiex_adhoc_join()
1358 &priv->curr_bss_params.bss_descriptor.ssid) && in mwifiex_adhoc_join()
1359 (priv->curr_bss_params.bss_descriptor.bss_mode == in mwifiex_adhoc_join()
1361 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: new ad-hoc SSID" in mwifiex_adhoc_join()
1366 if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info) && in mwifiex_adhoc_join()
1368 priv->adapter->config_bands & BAND_AAC) in mwifiex_adhoc_join()
1369 mwifiex_set_11ac_ba_params(priv); in mwifiex_adhoc_join()
1371 mwifiex_set_ba_params(priv); in mwifiex_adhoc_join()
1373 dev_dbg(priv->adapter->dev, "info: curr_bss_params.channel = %d\n", in mwifiex_adhoc_join()
1374 priv->curr_bss_params.bss_descriptor.channel); in mwifiex_adhoc_join()
1375 dev_dbg(priv->adapter->dev, "info: curr_bss_params.band = %c\n", in mwifiex_adhoc_join()
1376 priv->curr_bss_params.band); in mwifiex_adhoc_join()
1378 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_AD_HOC_JOIN, in mwifiex_adhoc_join()
1386 static int mwifiex_deauthenticate_infra(struct mwifiex_private *priv, u8 *mac) in mwifiex_deauthenticate_infra() argument
1393 priv->curr_bss_params.bss_descriptor.mac_address, in mwifiex_deauthenticate_infra()
1398 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_DEAUTHENTICATE, in mwifiex_deauthenticate_infra()
1411 int mwifiex_deauthenticate(struct mwifiex_private *priv, u8 *mac) in mwifiex_deauthenticate() argument
1415 if (!priv->media_connected) in mwifiex_deauthenticate()
1418 switch (priv->bss_mode) { in mwifiex_deauthenticate()
1421 ret = mwifiex_deauthenticate_infra(priv, mac); in mwifiex_deauthenticate()
1423 cfg80211_disconnected(priv->netdev, 0, NULL, 0, in mwifiex_deauthenticate()
1427 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_AD_HOC_STOP, in mwifiex_deauthenticate()
1430 return mwifiex_send_cmd(priv, HostCmd_CMD_UAP_BSS_STOP, in mwifiex_deauthenticate()
1442 struct mwifiex_private *priv; in mwifiex_deauthenticate_all() local
1446 priv = adapter->priv[i]; in mwifiex_deauthenticate_all()
1447 if (priv) in mwifiex_deauthenticate_all()
1448 mwifiex_deauthenticate(priv, NULL); in mwifiex_deauthenticate_all()