Lines Matching refs:priv
44 mwifiex_process_cmdresp_error(struct mwifiex_private *priv, in mwifiex_process_cmdresp_error() argument
48 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_process_cmdresp_error()
68 priv->bss_mode == NL80211_IFTYPE_ADHOC) in mwifiex_process_cmdresp_error()
123 static int mwifiex_ret_802_11_rssi_info(struct mwifiex_private *priv, in mwifiex_ret_802_11_rssi_info() argument
129 &priv->async_subsc_evt_storage; in mwifiex_ret_802_11_rssi_info()
131 priv->data_rssi_last = le16_to_cpu(rssi_info_rsp->data_rssi_last); in mwifiex_ret_802_11_rssi_info()
132 priv->data_nf_last = le16_to_cpu(rssi_info_rsp->data_nf_last); in mwifiex_ret_802_11_rssi_info()
134 priv->data_rssi_avg = le16_to_cpu(rssi_info_rsp->data_rssi_avg); in mwifiex_ret_802_11_rssi_info()
135 priv->data_nf_avg = le16_to_cpu(rssi_info_rsp->data_nf_avg); in mwifiex_ret_802_11_rssi_info()
137 priv->bcn_rssi_last = le16_to_cpu(rssi_info_rsp->bcn_rssi_last); in mwifiex_ret_802_11_rssi_info()
138 priv->bcn_nf_last = le16_to_cpu(rssi_info_rsp->bcn_nf_last); in mwifiex_ret_802_11_rssi_info()
140 priv->bcn_rssi_avg = le16_to_cpu(rssi_info_rsp->bcn_rssi_avg); in mwifiex_ret_802_11_rssi_info()
141 priv->bcn_nf_avg = le16_to_cpu(rssi_info_rsp->bcn_nf_avg); in mwifiex_ret_802_11_rssi_info()
143 if (priv->subsc_evt_rssi_state == EVENT_HANDLED) in mwifiex_ret_802_11_rssi_info()
151 if (priv->subsc_evt_rssi_state == RSSI_LOW_RECVD) { in mwifiex_ret_802_11_rssi_info()
152 subsc_evt->bcn_l_rssi_cfg.abs_value = abs(priv->bcn_rssi_avg - in mwifiex_ret_802_11_rssi_info()
153 priv->cqm_rssi_hyst); in mwifiex_ret_802_11_rssi_info()
154 subsc_evt->bcn_h_rssi_cfg.abs_value = abs(priv->cqm_rssi_thold); in mwifiex_ret_802_11_rssi_info()
155 } else if (priv->subsc_evt_rssi_state == RSSI_HIGH_RECVD) { in mwifiex_ret_802_11_rssi_info()
156 subsc_evt->bcn_l_rssi_cfg.abs_value = abs(priv->cqm_rssi_thold); in mwifiex_ret_802_11_rssi_info()
157 subsc_evt->bcn_h_rssi_cfg.abs_value = abs(priv->bcn_rssi_avg + in mwifiex_ret_802_11_rssi_info()
158 priv->cqm_rssi_hyst); in mwifiex_ret_802_11_rssi_info()
163 priv->subsc_evt_rssi_state = EVENT_HANDLED; in mwifiex_ret_802_11_rssi_info()
165 mwifiex_send_cmd(priv, HostCmd_CMD_802_11_SUBSCRIBE_EVENT, in mwifiex_ret_802_11_rssi_info()
183 static int mwifiex_ret_802_11_snmp_mib(struct mwifiex_private *priv, in mwifiex_ret_802_11_snmp_mib() argument
192 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_snmp_mib()
202 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_snmp_mib()
207 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_snmp_mib()
212 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_snmp_mib()
217 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_snmp_mib()
234 static int mwifiex_ret_get_log(struct mwifiex_private *priv, in mwifiex_ret_get_log() argument
283 static int mwifiex_ret_tx_rate_cfg(struct mwifiex_private *priv, in mwifiex_ret_tx_rate_cfg() argument
307 priv->bitmap_rates[0] = in mwifiex_ret_tx_rate_cfg()
309 priv->bitmap_rates[1] = in mwifiex_ret_tx_rate_cfg()
315 priv->bitmap_rates[2 + i] = in mwifiex_ret_tx_rate_cfg()
319 if (priv->adapter->fw_api_ver == MWIFIEX_FW_V15) { in mwifiex_ret_tx_rate_cfg()
323 priv->bitmap_rates[10 + i] = in mwifiex_ret_tx_rate_cfg()
335 priv->is_data_rate_auto = mwifiex_is_rate_auto(priv); in mwifiex_ret_tx_rate_cfg()
337 if (priv->is_data_rate_auto) in mwifiex_ret_tx_rate_cfg()
338 priv->data_rate = 0; in mwifiex_ret_tx_rate_cfg()
340 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_TX_RATE_QUERY, in mwifiex_ret_tx_rate_cfg()
352 static int mwifiex_get_power_level(struct mwifiex_private *priv, void *data_buf) in mwifiex_get_power_level() argument
384 priv->min_tx_power_level = (u8) min_power; in mwifiex_get_power_level()
385 priv->max_tx_power_level = (u8) max_power; in mwifiex_get_power_level()
397 static int mwifiex_ret_tx_power_cfg(struct mwifiex_private *priv, in mwifiex_ret_tx_power_cfg() argument
400 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_tx_power_cfg()
423 mwifiex_get_power_level(priv, pg_tlv_hdr); in mwifiex_ret_tx_power_cfg()
425 priv->tx_power_level = (u16) pg->power_min; in mwifiex_ret_tx_power_cfg()
433 priv->tx_power_level = (u16) pg->power_min; in mwifiex_ret_tx_power_cfg()
443 priv->tx_power_level, priv->max_tx_power_level, in mwifiex_ret_tx_power_cfg()
444 priv->min_tx_power_level); in mwifiex_ret_tx_power_cfg()
452 static int mwifiex_ret_rf_tx_power(struct mwifiex_private *priv, in mwifiex_ret_rf_tx_power() argument
458 priv->tx_power_level = le16_to_cpu(txp->cur_level); in mwifiex_ret_rf_tx_power()
461 priv->max_tx_power_level = txp->max_power; in mwifiex_ret_rf_tx_power()
462 priv->min_tx_power_level = txp->min_power; in mwifiex_ret_rf_tx_power()
465 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_rf_tx_power()
467 priv->tx_power_level, priv->max_tx_power_level, in mwifiex_ret_rf_tx_power()
468 priv->min_tx_power_level); in mwifiex_ret_rf_tx_power()
476 static int mwifiex_ret_rf_antenna(struct mwifiex_private *priv, in mwifiex_ret_rf_antenna() argument
481 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_rf_antenna()
505 static int mwifiex_ret_802_11_mac_address(struct mwifiex_private *priv, in mwifiex_ret_802_11_mac_address() argument
511 memcpy(priv->curr_addr, cmd_mac_addr->mac_addr, ETH_ALEN); in mwifiex_ret_802_11_mac_address()
513 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_mac_address()
514 "info: set mac address: %pM\n", priv->curr_addr); in mwifiex_ret_802_11_mac_address()
523 static int mwifiex_ret_mac_multicast_adr(struct mwifiex_private *priv, in mwifiex_ret_mac_multicast_adr() argument
538 static int mwifiex_ret_802_11_tx_rate_query(struct mwifiex_private *priv, in mwifiex_ret_802_11_tx_rate_query() argument
541 priv->tx_rate = resp->params.tx_rate.tx_rate; in mwifiex_ret_802_11_tx_rate_query()
542 priv->tx_htinfo = resp->params.tx_rate.ht_info; in mwifiex_ret_802_11_tx_rate_query()
543 if (!priv->is_data_rate_auto) in mwifiex_ret_802_11_tx_rate_query()
544 priv->data_rate = in mwifiex_ret_802_11_tx_rate_query()
545 mwifiex_index_to_data_rate(priv, priv->tx_rate, in mwifiex_ret_802_11_tx_rate_query()
546 priv->tx_htinfo); in mwifiex_ret_802_11_tx_rate_query()
558 static int mwifiex_ret_802_11_deauthenticate(struct mwifiex_private *priv, in mwifiex_ret_802_11_deauthenticate() argument
561 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_802_11_deauthenticate()
565 &priv->curr_bss_params.bss_descriptor.mac_address, in mwifiex_ret_802_11_deauthenticate()
567 mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING); in mwifiex_ret_802_11_deauthenticate()
577 static int mwifiex_ret_802_11_ad_hoc_stop(struct mwifiex_private *priv, in mwifiex_ret_802_11_ad_hoc_stop() argument
580 mwifiex_reset_connect_state(priv, WLAN_REASON_DEAUTH_LEAVING); in mwifiex_ret_802_11_ad_hoc_stop()
590 static int mwifiex_ret_802_11_key_material_v1(struct mwifiex_private *priv, in mwifiex_ret_802_11_key_material_v1() argument
598 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11_key_material_v1()
600 priv->wpa_is_gtk_set = true; in mwifiex_ret_802_11_key_material_v1()
601 priv->scan_block = false; in mwifiex_ret_802_11_key_material_v1()
602 priv->port_open = true; in mwifiex_ret_802_11_key_material_v1()
606 memset(priv->aes_key.key_param_set.key, 0, in mwifiex_ret_802_11_key_material_v1()
608 priv->aes_key.key_param_set.key_len = key->key_param_set.key_len; in mwifiex_ret_802_11_key_material_v1()
609 memcpy(priv->aes_key.key_param_set.key, key->key_param_set.key, in mwifiex_ret_802_11_key_material_v1()
610 le16_to_cpu(priv->aes_key.key_param_set.key_len)); in mwifiex_ret_802_11_key_material_v1()
621 static int mwifiex_ret_802_11_key_material_v2(struct mwifiex_private *priv, in mwifiex_ret_802_11_key_material_v2() argument
630 mwifiex_dbg(priv->adapter, INFO, "info: key: GTK is set\n"); in mwifiex_ret_802_11_key_material_v2()
631 priv->wpa_is_gtk_set = true; in mwifiex_ret_802_11_key_material_v2()
632 priv->scan_block = false; in mwifiex_ret_802_11_key_material_v2()
633 priv->port_open = true; in mwifiex_ret_802_11_key_material_v2()
640 memset(priv->aes_key_v2.key_param_set.key_params.aes.key, 0, in mwifiex_ret_802_11_key_material_v2()
642 priv->aes_key_v2.key_param_set.key_params.aes.key_len = in mwifiex_ret_802_11_key_material_v2()
644 len = priv->aes_key_v2.key_param_set.key_params.aes.key_len; in mwifiex_ret_802_11_key_material_v2()
645 memcpy(priv->aes_key_v2.key_param_set.key_params.aes.key, in mwifiex_ret_802_11_key_material_v2()
652 static int mwifiex_ret_802_11_key_material(struct mwifiex_private *priv, in mwifiex_ret_802_11_key_material() argument
655 if (priv->adapter->key_api_major_ver == KEY_API_VER_MAJOR_V2) in mwifiex_ret_802_11_key_material()
656 return mwifiex_ret_802_11_key_material_v2(priv, resp); in mwifiex_ret_802_11_key_material()
658 return mwifiex_ret_802_11_key_material_v1(priv, resp); in mwifiex_ret_802_11_key_material()
664 static int mwifiex_ret_802_11d_domain_info(struct mwifiex_private *priv, in mwifiex_ret_802_11d_domain_info() argument
677 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_802_11d_domain_info()
682 mwifiex_dbg(priv->adapter, FATAL, in mwifiex_ret_802_11d_domain_info()
694 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_ret_802_11d_domain_info()
708 static int mwifiex_ret_ver_ext(struct mwifiex_private *priv, in mwifiex_ret_ver_ext() argument
718 memcpy(priv->version_str, ver_ext->version_str, 128); in mwifiex_ret_ver_ext()
727 mwifiex_ret_remain_on_chan(struct mwifiex_private *priv, in mwifiex_ret_remain_on_chan() argument
743 mwifiex_ret_p2p_mode_cfg(struct mwifiex_private *priv, in mwifiex_ret_p2p_mode_cfg() argument
758 mwifiex_ret_mem_access(struct mwifiex_private *priv, in mwifiex_ret_mem_access() argument
763 priv->mem_rw.addr = le32_to_cpu(mem->addr); in mwifiex_ret_mem_access()
764 priv->mem_rw.value = le32_to_cpu(mem->value); in mwifiex_ret_mem_access()
848 static int mwifiex_ret_ibss_coalescing_status(struct mwifiex_private *priv, in mwifiex_ret_ibss_coalescing_status() argument
857 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_ibss_coalescing_status()
862 mwifiex_dbg(priv->adapter, FATAL, "new BSSID is NULL\n"); in mwifiex_ret_ibss_coalescing_status()
867 if (!ether_addr_equal(priv->curr_bss_params.bss_descriptor.mac_address, ibss_coal_resp->bssid)) { in mwifiex_ret_ibss_coalescing_status()
869 memcpy(priv->curr_bss_params.bss_descriptor.mac_address, in mwifiex_ret_ibss_coalescing_status()
873 priv->curr_bss_params.bss_descriptor.beacon_period in mwifiex_ret_ibss_coalescing_status()
877 priv->curr_bss_params.bss_descriptor.erp_flags = in mwifiex_ret_ibss_coalescing_status()
880 priv->adhoc_state = ADHOC_COALESCED; in mwifiex_ret_ibss_coalescing_status()
885 static int mwifiex_ret_tdls_oper(struct mwifiex_private *priv, in mwifiex_ret_tdls_oper() argument
892 mwifiex_get_sta_entry(priv, cmd_tdls_oper->peer_mac); in mwifiex_ret_tdls_oper()
898 mwifiex_dbg(priv->adapter, MSG, in mwifiex_ret_tdls_oper()
902 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_ret_tdls_oper()
906 mwifiex_dbg(priv->adapter, MSG, in mwifiex_ret_tdls_oper()
913 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_ret_tdls_oper()
919 mwifiex_dbg(priv->adapter, MSG, in mwifiex_ret_tdls_oper()
926 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_ret_tdls_oper()
932 mwifiex_dbg(priv->adapter, MSG, in mwifiex_ret_tdls_oper()
938 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_ret_tdls_oper()
948 static int mwifiex_ret_subsc_evt(struct mwifiex_private *priv, in mwifiex_ret_subsc_evt() argument
956 mwifiex_dbg(priv->adapter, EVENT, in mwifiex_ret_subsc_evt()
963 static int mwifiex_ret_uap_sta_list(struct mwifiex_private *priv, in mwifiex_ret_uap_sta_list() argument
973 sta_node = mwifiex_get_sta_entry(priv, sta_info->mac); in mwifiex_ret_uap_sta_list()
985 static int mwifiex_ret_cfg_data(struct mwifiex_private *priv, in mwifiex_ret_cfg_data() argument
989 mwifiex_dbg(priv->adapter, ERROR, "Cal data cmd resp failed\n"); in mwifiex_ret_cfg_data()
997 static int mwifiex_ret_sdio_rx_aggr_cfg(struct mwifiex_private *priv, in mwifiex_ret_sdio_rx_aggr_cfg() argument
1000 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ret_sdio_rx_aggr_cfg()
1010 static int mwifiex_ret_robust_coex(struct mwifiex_private *priv, in mwifiex_ret_robust_coex() argument
1038 int mwifiex_process_sta_cmdresp(struct mwifiex_private *priv, u16 cmdresp_no, in mwifiex_process_sta_cmdresp() argument
1042 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_process_sta_cmdresp()
1047 mwifiex_process_cmdresp_error(priv, resp); in mwifiex_process_sta_cmdresp()
1053 ret = mwifiex_ret_get_hw_spec(priv, resp); in mwifiex_process_sta_cmdresp()
1056 ret = mwifiex_ret_cfg_data(priv, resp); in mwifiex_process_sta_cmdresp()
1061 ret = mwifiex_ret_802_11_mac_address(priv, resp); in mwifiex_process_sta_cmdresp()
1064 ret = mwifiex_ret_mac_multicast_adr(priv, resp); in mwifiex_process_sta_cmdresp()
1067 ret = mwifiex_ret_tx_rate_cfg(priv, resp); in mwifiex_process_sta_cmdresp()
1070 ret = mwifiex_ret_802_11_scan(priv, resp); in mwifiex_process_sta_cmdresp()
1074 ret = mwifiex_ret_802_11_scan_ext(priv, resp); in mwifiex_process_sta_cmdresp()
1078 ret = mwifiex_ret_802_11_scan(priv, resp); in mwifiex_process_sta_cmdresp()
1083 ret = mwifiex_ret_tx_power_cfg(priv, resp); in mwifiex_process_sta_cmdresp()
1086 ret = mwifiex_ret_rf_tx_power(priv, resp); in mwifiex_process_sta_cmdresp()
1089 ret = mwifiex_ret_rf_antenna(priv, resp); in mwifiex_process_sta_cmdresp()
1092 ret = mwifiex_ret_enh_power_mode(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1095 ret = mwifiex_ret_802_11_hs_cfg(priv, resp); in mwifiex_process_sta_cmdresp()
1098 ret = mwifiex_ret_802_11_associate(priv, resp); in mwifiex_process_sta_cmdresp()
1101 ret = mwifiex_ret_802_11_deauthenticate(priv, resp); in mwifiex_process_sta_cmdresp()
1105 ret = mwifiex_ret_802_11_ad_hoc(priv, resp); in mwifiex_process_sta_cmdresp()
1108 ret = mwifiex_ret_802_11_ad_hoc_stop(priv, resp); in mwifiex_process_sta_cmdresp()
1111 ret = mwifiex_ret_get_log(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1114 ret = mwifiex_ret_802_11_rssi_info(priv, resp); in mwifiex_process_sta_cmdresp()
1117 ret = mwifiex_ret_802_11_snmp_mib(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1120 ret = mwifiex_ret_802_11_tx_rate_query(priv, resp); in mwifiex_process_sta_cmdresp()
1123 ret = mwifiex_ret_ver_ext(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1126 ret = mwifiex_ret_remain_on_chan(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1131 ret = mwifiex_ret_p2p_mode_cfg(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1138 ret = mwifiex_ret_802_11_key_material(priv, resp); in mwifiex_process_sta_cmdresp()
1141 ret = mwifiex_ret_802_11d_domain_info(priv, resp); in mwifiex_process_sta_cmdresp()
1144 ret = mwifiex_ret_11n_addba_req(priv, resp); in mwifiex_process_sta_cmdresp()
1147 ret = mwifiex_ret_11n_delba(priv, resp); in mwifiex_process_sta_cmdresp()
1150 ret = mwifiex_ret_11n_addba_resp(priv, resp); in mwifiex_process_sta_cmdresp()
1180 ret = mwifiex_ret_wmm_get_status(priv, resp); in mwifiex_process_sta_cmdresp()
1183 ret = mwifiex_ret_ibss_coalescing_status(priv, resp); in mwifiex_process_sta_cmdresp()
1186 ret = mwifiex_ret_mem_access(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()
1203 ret = mwifiex_ret_subsc_evt(priv, resp); in mwifiex_process_sta_cmdresp()
1208 ret = mwifiex_ret_uap_sta_list(priv, resp); in mwifiex_process_sta_cmdresp()
1214 priv->bss_started = 1; in mwifiex_process_sta_cmdresp()
1217 priv->bss_started = 0; in mwifiex_process_sta_cmdresp()
1228 ret = mwifiex_ret_tdls_oper(priv, resp); in mwifiex_process_sta_cmdresp()
1234 ret = mwifiex_ret_sdio_rx_aggr_cfg(priv, resp); in mwifiex_process_sta_cmdresp()
1239 ret = mwifiex_ret_robust_coex(priv, resp, data_buf); in mwifiex_process_sta_cmdresp()