Lines Matching refs:priv
88 int mwifiex_request_set_multicast_list(struct mwifiex_private *priv, in mwifiex_request_set_multicast_list() argument
94 old_pkt_filter = priv->curr_pkt_filter; in mwifiex_request_set_multicast_list()
97 mwifiex_dbg(priv->adapter, INFO, in mwifiex_request_set_multicast_list()
99 priv->curr_pkt_filter |= HostCmd_ACT_MAC_PROMISCUOUS_ENABLE; in mwifiex_request_set_multicast_list()
100 priv->curr_pkt_filter &= in mwifiex_request_set_multicast_list()
104 priv->curr_pkt_filter &= ~HostCmd_ACT_MAC_PROMISCUOUS_ENABLE; in mwifiex_request_set_multicast_list()
106 mwifiex_dbg(priv->adapter, INFO, in mwifiex_request_set_multicast_list()
108 priv->curr_pkt_filter |= in mwifiex_request_set_multicast_list()
111 priv->curr_pkt_filter &= in mwifiex_request_set_multicast_list()
113 mwifiex_dbg(priv->adapter, INFO, in mwifiex_request_set_multicast_list()
117 ret = mwifiex_send_cmd(priv, in mwifiex_request_set_multicast_list()
123 mwifiex_dbg(priv->adapter, INFO, in mwifiex_request_set_multicast_list()
125 old_pkt_filter, priv->curr_pkt_filter); in mwifiex_request_set_multicast_list()
126 if (old_pkt_filter != priv->curr_pkt_filter) { in mwifiex_request_set_multicast_list()
127 ret = mwifiex_send_cmd(priv, HostCmd_CMD_MAC_CONTROL, in mwifiex_request_set_multicast_list()
129 0, &priv->curr_pkt_filter, false); in mwifiex_request_set_multicast_list()
141 int mwifiex_fill_new_bss_desc(struct mwifiex_private *priv, in mwifiex_fill_new_bss_desc() argument
147 struct mwifiex_bss_priv *bss_priv = (void *)bss->priv; in mwifiex_fill_new_bss_desc()
158 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_fill_new_bss_desc()
173 mwifiex_dbg(priv->adapter, INFO, in mwifiex_fill_new_bss_desc()
192 return mwifiex_update_bss_desc_with_ie(priv->adapter, bss_desc); in mwifiex_fill_new_bss_desc()
195 void mwifiex_dnld_txpwr_table(struct mwifiex_private *priv) in mwifiex_dnld_txpwr_table() argument
197 if (priv->adapter->dt_node) { in mwifiex_dnld_txpwr_table()
200 memcpy(&txpwr[8], priv->adapter->country_code, 2); in mwifiex_dnld_txpwr_table()
201 mwifiex_dnld_dt_cfgdata(priv, priv->adapter->dt_node, txpwr); in mwifiex_dnld_txpwr_table()
205 static int mwifiex_process_country_ie(struct mwifiex_private *priv, in mwifiex_process_country_ie() argument
211 &priv->adapter->domain_reg; in mwifiex_process_country_ie()
226 if (!strncmp(priv->adapter->country_code, &country_ie[2], 2)) { in mwifiex_process_country_ie()
228 mwifiex_dbg(priv->adapter, INFO, in mwifiex_process_country_ie()
232 memcpy(priv->adapter->country_code, &country_ie[2], 2); in mwifiex_process_country_ie()
248 if (mwifiex_send_cmd(priv, HostCmd_CMD_802_11D_DOMAIN_INFO, in mwifiex_process_country_ie()
250 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_process_country_ie()
255 mwifiex_dnld_txpwr_table(priv); in mwifiex_process_country_ie()
265 int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss, in mwifiex_bss_start() argument
269 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_bss_start()
272 priv->scan_block = false; in mwifiex_bss_start()
275 mwifiex_process_country_ie(priv, bss); in mwifiex_bss_start()
283 ret = mwifiex_fill_new_bss_desc(priv, bss, bss_desc); in mwifiex_bss_start()
288 if (priv->bss_mode == NL80211_IFTYPE_STATION || in mwifiex_bss_start()
289 priv->bss_mode == NL80211_IFTYPE_P2P_CLIENT) { in mwifiex_bss_start()
307 ret = mwifiex_check_network_compatibility(priv, bss_desc); in mwifiex_bss_start()
311 if (mwifiex_11h_get_csa_closed_channel(priv) == in mwifiex_bss_start()
324 mwifiex_stop_net_dev_queue(priv->netdev, adapter); in mwifiex_bss_start()
325 if (netif_carrier_ok(priv->netdev)) in mwifiex_bss_start()
326 netif_carrier_off(priv->netdev); in mwifiex_bss_start()
330 priv->assoc_rsp_size = 0; in mwifiex_bss_start()
331 ret = mwifiex_associate(priv, bss_desc); in mwifiex_bss_start()
336 priv->sec_info.is_authtype_auto && in mwifiex_bss_start()
337 priv->sec_info.wep_enabled) { in mwifiex_bss_start()
338 priv->sec_info.authentication_mode = in mwifiex_bss_start()
340 ret = mwifiex_associate(priv, bss_desc); in mwifiex_bss_start()
344 cfg80211_put_bss(priv->adapter->wiphy, bss); in mwifiex_bss_start()
349 (!mwifiex_ssid_cmp(&priv->curr_bss_params.bss_descriptor. in mwifiex_bss_start()
355 priv->adhoc_is_link_sensed = false; in mwifiex_bss_start()
357 ret = mwifiex_check_network_compatibility(priv, bss_desc); in mwifiex_bss_start()
359 mwifiex_stop_net_dev_queue(priv->netdev, adapter); in mwifiex_bss_start()
360 if (netif_carrier_ok(priv->netdev)) in mwifiex_bss_start()
361 netif_carrier_off(priv->netdev); in mwifiex_bss_start()
367 ret = mwifiex_adhoc_join(priv, bss_desc); in mwifiex_bss_start()
369 cfg80211_put_bss(priv->adapter->wiphy, bss); in mwifiex_bss_start()
375 ret = mwifiex_adhoc_start(priv, req_ssid); in mwifiex_bss_start()
395 int mwifiex_set_hs_params(struct mwifiex_private *priv, u16 action, in mwifiex_set_hs_params() argument
399 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_set_hs_params()
439 status = mwifiex_send_cmd(priv, in mwifiex_set_hs_params()
475 int mwifiex_cancel_hs(struct mwifiex_private *priv, int cmd_type) in mwifiex_cancel_hs() argument
482 return mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET, in mwifiex_cancel_hs()
496 struct mwifiex_private *priv; in mwifiex_enable_hs() local
501 priv = adapter->priv[i]; in mwifiex_enable_hs()
502 if (priv) in mwifiex_enable_hs()
503 mwifiex_deauthenticate(priv, NULL); in mwifiex_enable_hs()
548 int mwifiex_get_bss_info(struct mwifiex_private *priv, in mwifiex_get_bss_info() argument
551 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_get_bss_info()
557 bss_desc = &priv->curr_bss_params.bss_descriptor; in mwifiex_get_bss_info()
559 info->bss_mode = priv->bss_mode; in mwifiex_get_bss_info()
570 info->media_connected = priv->media_connected; in mwifiex_get_bss_info()
572 info->max_power_level = priv->max_tx_power_level; in mwifiex_get_bss_info()
573 info->min_power_level = priv->min_tx_power_level; in mwifiex_get_bss_info()
575 info->adhoc_state = priv->adhoc_state; in mwifiex_get_bss_info()
577 info->bcn_nf_last = priv->bcn_nf_last; in mwifiex_get_bss_info()
579 if (priv->sec_info.wep_enabled) in mwifiex_get_bss_info()
593 int mwifiex_disable_auto_ds(struct mwifiex_private *priv) in mwifiex_disable_auto_ds() argument
599 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_PS_MODE_ENH, in mwifiex_disable_auto_ds()
610 int mwifiex_drv_get_data_rate(struct mwifiex_private *priv, u32 *rate) in mwifiex_drv_get_data_rate() argument
614 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_TX_RATE_QUERY, in mwifiex_drv_get_data_rate()
618 if (priv->is_data_rate_auto) in mwifiex_drv_get_data_rate()
619 *rate = mwifiex_index_to_data_rate(priv, priv->tx_rate, in mwifiex_drv_get_data_rate()
620 priv->tx_htinfo); in mwifiex_drv_get_data_rate()
622 *rate = priv->data_rate; in mwifiex_drv_get_data_rate()
640 int mwifiex_set_tx_power(struct mwifiex_private *priv, in mwifiex_set_tx_power() argument
652 if ((dbm < priv->min_tx_power_level) || in mwifiex_set_tx_power()
653 (dbm > priv->max_tx_power_level)) { in mwifiex_set_tx_power()
654 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_set_tx_power()
657 dbm, priv->min_tx_power_level, in mwifiex_set_tx_power()
658 priv->max_tx_power_level); in mwifiex_set_tx_power()
712 ret = mwifiex_send_cmd(priv, HostCmd_CMD_TXPWR_CFG, in mwifiex_set_tx_power()
725 int mwifiex_drv_set_power(struct mwifiex_private *priv, u32 *ps_mode) in mwifiex_drv_set_power() argument
728 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_drv_set_power()
736 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_PS_MODE_ENH, in mwifiex_drv_set_power()
739 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_PS_MODE_ENH, in mwifiex_drv_set_power()
752 static int mwifiex_set_wpa_ie_helper(struct mwifiex_private *priv, in mwifiex_set_wpa_ie_helper() argument
756 if (ie_len > sizeof(priv->wpa_ie)) { in mwifiex_set_wpa_ie_helper()
757 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_set_wpa_ie_helper()
761 memcpy(priv->wpa_ie, ie_data_ptr, ie_len); in mwifiex_set_wpa_ie_helper()
762 priv->wpa_ie_len = (u8) ie_len; in mwifiex_set_wpa_ie_helper()
763 mwifiex_dbg(priv->adapter, CMD, in mwifiex_set_wpa_ie_helper()
765 priv->wpa_ie_len, priv->wpa_ie[0]); in mwifiex_set_wpa_ie_helper()
767 if (priv->wpa_ie[0] == WLAN_EID_VENDOR_SPECIFIC) { in mwifiex_set_wpa_ie_helper()
768 priv->sec_info.wpa_enabled = true; in mwifiex_set_wpa_ie_helper()
769 } else if (priv->wpa_ie[0] == WLAN_EID_RSN) { in mwifiex_set_wpa_ie_helper()
770 priv->sec_info.wpa2_enabled = true; in mwifiex_set_wpa_ie_helper()
772 priv->sec_info.wpa_enabled = false; in mwifiex_set_wpa_ie_helper()
773 priv->sec_info.wpa2_enabled = false; in mwifiex_set_wpa_ie_helper()
776 memset(priv->wpa_ie, 0, sizeof(priv->wpa_ie)); in mwifiex_set_wpa_ie_helper()
777 priv->wpa_ie_len = 0; in mwifiex_set_wpa_ie_helper()
778 mwifiex_dbg(priv->adapter, INFO, in mwifiex_set_wpa_ie_helper()
780 priv->wpa_ie_len, priv->wpa_ie[0]); in mwifiex_set_wpa_ie_helper()
781 priv->sec_info.wpa_enabled = false; in mwifiex_set_wpa_ie_helper()
782 priv->sec_info.wpa2_enabled = false; in mwifiex_set_wpa_ie_helper()
795 static int mwifiex_set_wapi_ie(struct mwifiex_private *priv, in mwifiex_set_wapi_ie() argument
799 if (ie_len > sizeof(priv->wapi_ie)) { in mwifiex_set_wapi_ie()
800 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_set_wapi_ie()
804 memcpy(priv->wapi_ie, ie_data_ptr, ie_len); in mwifiex_set_wapi_ie()
805 priv->wapi_ie_len = ie_len; in mwifiex_set_wapi_ie()
806 mwifiex_dbg(priv->adapter, CMD, in mwifiex_set_wapi_ie()
808 priv->wapi_ie_len, priv->wapi_ie[0]); in mwifiex_set_wapi_ie()
810 if (priv->wapi_ie[0] == WLAN_EID_BSS_AC_ACCESS_DELAY) in mwifiex_set_wapi_ie()
811 priv->sec_info.wapi_enabled = true; in mwifiex_set_wapi_ie()
813 memset(priv->wapi_ie, 0, sizeof(priv->wapi_ie)); in mwifiex_set_wapi_ie()
814 priv->wapi_ie_len = ie_len; in mwifiex_set_wapi_ie()
815 mwifiex_dbg(priv->adapter, INFO, in mwifiex_set_wapi_ie()
817 priv->wapi_ie_len, priv->wapi_ie[0]); in mwifiex_set_wapi_ie()
818 priv->sec_info.wapi_enabled = false; in mwifiex_set_wapi_ie()
830 static int mwifiex_set_wps_ie(struct mwifiex_private *priv, in mwifiex_set_wps_ie() argument
835 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_set_wps_ie()
840 priv->wps_ie = kzalloc(MWIFIEX_MAX_VSIE_LEN, GFP_KERNEL); in mwifiex_set_wps_ie()
841 if (!priv->wps_ie) in mwifiex_set_wps_ie()
844 memcpy(priv->wps_ie, ie_data_ptr, ie_len); in mwifiex_set_wps_ie()
845 priv->wps_ie_len = ie_len; in mwifiex_set_wps_ie()
846 mwifiex_dbg(priv->adapter, CMD, in mwifiex_set_wps_ie()
848 priv->wps_ie_len, priv->wps_ie[0]); in mwifiex_set_wps_ie()
850 kfree(priv->wps_ie); in mwifiex_set_wps_ie()
851 priv->wps_ie_len = ie_len; in mwifiex_set_wps_ie()
852 mwifiex_dbg(priv->adapter, INFO, in mwifiex_set_wps_ie()
853 "info: Reset wps_ie_len=%d\n", priv->wps_ie_len); in mwifiex_set_wps_ie()
864 static int mwifiex_sec_ioctl_set_wapi_key(struct mwifiex_private *priv, in mwifiex_sec_ioctl_set_wapi_key() argument
868 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL, in mwifiex_sec_ioctl_set_wapi_key()
879 static int mwifiex_sec_ioctl_set_wep_key(struct mwifiex_private *priv, in mwifiex_sec_ioctl_set_wep_key() argument
882 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_sec_ioctl_set_wep_key()
887 if (priv->wep_key_curr_index >= NUM_WEP_KEYS) in mwifiex_sec_ioctl_set_wep_key()
888 priv->wep_key_curr_index = 0; in mwifiex_sec_ioctl_set_wep_key()
889 wep_key = &priv->wep_key[priv->wep_key_curr_index]; in mwifiex_sec_ioctl_set_wep_key()
892 priv->sec_info.wep_enabled = 0; in mwifiex_sec_ioctl_set_wep_key()
895 wep_key = &priv->wep_key[index]; in mwifiex_sec_ioctl_set_wep_key()
908 priv->wep_key_curr_index = (u16) index; in mwifiex_sec_ioctl_set_wep_key()
909 priv->sec_info.wep_enabled = 1; in mwifiex_sec_ioctl_set_wep_key()
911 wep_key = &priv->wep_key[index]; in mwifiex_sec_ioctl_set_wep_key()
919 priv->sec_info.wep_enabled = 1; in mwifiex_sec_ioctl_set_wep_key()
925 memset(&priv->wep_key[index], 0, in mwifiex_sec_ioctl_set_wep_key()
937 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL, in mwifiex_sec_ioctl_set_wep_key()
944 if (priv->sec_info.wep_enabled) in mwifiex_sec_ioctl_set_wep_key()
945 priv->curr_pkt_filter |= HostCmd_ACT_MAC_WEP_ENABLE; in mwifiex_sec_ioctl_set_wep_key()
947 priv->curr_pkt_filter &= ~HostCmd_ACT_MAC_WEP_ENABLE; in mwifiex_sec_ioctl_set_wep_key()
949 ret = mwifiex_send_cmd(priv, HostCmd_CMD_MAC_CONTROL, in mwifiex_sec_ioctl_set_wep_key()
951 &priv->curr_pkt_filter, true); in mwifiex_sec_ioctl_set_wep_key()
966 static int mwifiex_sec_ioctl_set_wpa_key(struct mwifiex_private *priv, in mwifiex_sec_ioctl_set_wpa_key() argument
975 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_sec_ioctl_set_wpa_key()
980 if (priv->bss_mode == NL80211_IFTYPE_ADHOC) { in mwifiex_sec_ioctl_set_wpa_key()
987 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL, in mwifiex_sec_ioctl_set_wpa_key()
993 ibss_key = &priv->aes_key; in mwifiex_sec_ioctl_set_wpa_key()
1013 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL, in mwifiex_sec_ioctl_set_wpa_key()
1017 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL, in mwifiex_sec_ioctl_set_wpa_key()
1031 mwifiex_sec_ioctl_encrypt_key(struct mwifiex_private *priv, in mwifiex_sec_ioctl_encrypt_key() argument
1037 status = mwifiex_sec_ioctl_set_wapi_key(priv, encrypt_key); in mwifiex_sec_ioctl_encrypt_key()
1039 status = mwifiex_sec_ioctl_set_wpa_key(priv, encrypt_key); in mwifiex_sec_ioctl_encrypt_key()
1041 status = mwifiex_sec_ioctl_set_wep_key(priv, encrypt_key); in mwifiex_sec_ioctl_encrypt_key()
1074 int mwifiex_set_encode(struct mwifiex_private *priv, struct key_params *kp, in mwifiex_set_encode() argument
1101 if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) in mwifiex_set_encode()
1108 return mwifiex_sec_ioctl_encrypt_key(priv, &encrypt_key); in mwifiex_set_encode()
1118 mwifiex_get_ver_ext(struct mwifiex_private *priv) in mwifiex_get_ver_ext() argument
1123 if (mwifiex_send_cmd(priv, HostCmd_CMD_VERSION_EXT, in mwifiex_get_ver_ext()
1131 mwifiex_remain_on_chan_cfg(struct mwifiex_private *priv, u16 action, in mwifiex_remain_on_chan_cfg() argument
1149 if (mwifiex_send_cmd(priv, HostCmd_CMD_REMAIN_ON_CHAN, in mwifiex_remain_on_chan_cfg()
1151 mwifiex_dbg(priv->adapter, ERROR, in mwifiex_remain_on_chan_cfg()
1166 mwifiex_get_stats_info(struct mwifiex_private *priv, in mwifiex_get_stats_info() argument
1169 return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_GET_LOG, in mwifiex_get_stats_info()
1186 static int mwifiex_reg_mem_ioctl_reg_rw(struct mwifiex_private *priv, in mwifiex_reg_mem_ioctl_reg_rw() argument
1212 return mwifiex_send_cmd(priv, cmd_no, action, 0, reg_rw, true); in mwifiex_reg_mem_ioctl_reg_rw()
1222 mwifiex_reg_write(struct mwifiex_private *priv, u32 reg_type, in mwifiex_reg_write() argument
1231 return mwifiex_reg_mem_ioctl_reg_rw(priv, ®_rw, HostCmd_ACT_GEN_SET); in mwifiex_reg_write()
1241 mwifiex_reg_read(struct mwifiex_private *priv, u32 reg_type, in mwifiex_reg_read() argument
1249 ret = mwifiex_reg_mem_ioctl_reg_rw(priv, ®_rw, HostCmd_ACT_GEN_GET); in mwifiex_reg_read()
1267 mwifiex_eeprom_read(struct mwifiex_private *priv, u16 offset, u16 bytes, in mwifiex_eeprom_read() argument
1277 ret = mwifiex_send_cmd(priv, HostCmd_CMD_802_11_EEPROM_ACCESS, in mwifiex_eeprom_read()
1290 mwifiex_set_gen_ie_helper(struct mwifiex_private *priv, u8 *ie_data_ptr, in mwifiex_set_gen_ie_helper() argument
1300 priv->gen_ie_buf_len = 0; in mwifiex_set_gen_ie_helper()
1301 priv->wps.session_enable = false; in mwifiex_set_gen_ie_helper()
1314 ret = mwifiex_set_wpa_ie_helper(priv, ie_data_ptr, ie_len); in mwifiex_set_gen_ie_helper()
1315 priv->wps.session_enable = false; in mwifiex_set_gen_ie_helper()
1320 ret = mwifiex_set_wapi_ie(priv, ie_data_ptr, ie_len); in mwifiex_set_gen_ie_helper()
1328 if (ie_len < (sizeof(priv->gen_ie_buf) - priv->gen_ie_buf_len)) { in mwifiex_set_gen_ie_helper()
1336 priv->wps.session_enable = true; in mwifiex_set_gen_ie_helper()
1337 mwifiex_dbg(priv->adapter, INFO, in mwifiex_set_gen_ie_helper()
1339 ret = mwifiex_set_wps_ie(priv, ie_data_ptr, ie_len); in mwifiex_set_gen_ie_helper()
1344 memcpy(priv->gen_ie_buf + priv->gen_ie_buf_len, ie_data_ptr, in mwifiex_set_gen_ie_helper()
1348 priv->gen_ie_buf_len += ie_len; in mwifiex_set_gen_ie_helper()
1365 static int mwifiex_misc_ioctl_gen_ie(struct mwifiex_private *priv, in mwifiex_misc_ioctl_gen_ie() argument
1369 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_misc_ioctl_gen_ie()
1374 gen_ie->len = priv->wpa_ie_len; in mwifiex_misc_ioctl_gen_ie()
1375 memcpy(gen_ie->ie_data, priv->wpa_ie, gen_ie->len); in mwifiex_misc_ioctl_gen_ie()
1377 mwifiex_set_gen_ie_helper(priv, gen_ie->ie_data, in mwifiex_misc_ioctl_gen_ie()
1408 mwifiex_set_gen_ie(struct mwifiex_private *priv, const u8 *ie, int ie_len) in mwifiex_set_gen_ie() argument
1418 if (mwifiex_misc_ioctl_gen_ie(priv, &gen_ie, HostCmd_ACT_GEN_SET)) in mwifiex_set_gen_ie()