Lines Matching defs:priv

39 mwifiex_cmd_append_generic_ie(struct mwifiex_private *priv, u8 **buffer)
54 if (priv->gen_ie_buf_len) {
55 dev_dbg(priv->adapter->dev,
57 __func__, priv->gen_ie_buf_len, *buffer);
61 ie_header.len = cpu_to_le16(priv->gen_ie_buf_len);
71 memcpy(*buffer, priv->gen_ie_buf, priv->gen_ie_buf_len);
75 *buffer += priv->gen_ie_buf_len;
76 ret_len += priv->gen_ie_buf_len;
79 priv->gen_ie_buf_len = 0;
100 mwifiex_cmd_append_tsf_tlv(struct mwifiex_private *priv, u8 **buffer,
127 dev_dbg(priv->adapter->dev,
145 static int mwifiex_get_common_rates(struct mwifiex_private *priv, u8 *rate1,
154 dev_err(priv->adapter->dev, "failed to alloc tmp buf\n");
171 dev_dbg(priv->adapter->dev, "info: Tx data rate set to %#x\n",
172 priv->data_rate);
174 if (!priv->is_data_rate_auto) {
176 if ((*ptr & 0x7f) == priv->data_rate) {
182 dev_err(priv->adapter->dev, "previously set fixed data rate %#x"
184 priv->data_rate);
201 mwifiex_setup_rates_from_bssdesc(struct mwifiex_private *priv,
211 card_rates_size = mwifiex_get_active_data_rates(priv, card_rates);
213 if (mwifiex_get_common_rates(priv, out_rates, MWIFIEX_SUPPORTED_RATES,
216 dev_err(priv->adapter->dev, "%s: cannot get common rates\n",
236 mwifiex_cmd_append_wapi_ie(struct mwifiex_private *priv, u8 **buffer)
251 if (priv->wapi_ie_len) {
252 dev_dbg(priv->adapter->dev, "cmd: append wapi ie %d to %p\n",
253 priv->wapi_ie_len, *buffer);
257 ie_header.len = cpu_to_le16(priv->wapi_ie_len);
267 memcpy(*buffer, priv->wapi_ie, priv->wapi_ie_len);
271 *buffer += priv->wapi_ie_len;
272 retLen += priv->wapi_ie_len;
283 static int mwifiex_append_rsn_ie_wpa_wpa2(struct mwifiex_private *priv,
293 rsn_ie_tlv->header.type = cpu_to_le16((u16) priv->wpa_ie[0]);
296 rsn_ie_tlv->header.len = cpu_to_le16((u16) priv->wpa_ie[1]);
299 if (le16_to_cpu(rsn_ie_tlv->header.len) <= (sizeof(priv->wpa_ie) - 2))
300 memcpy(rsn_ie_tlv->rsn_ie, &priv->wpa_ie[2],
340 int mwifiex_cmd_802_11_associate(struct mwifiex_private *priv,
359 mwifiex_cfg_tx_buf(priv, bss_desc);
364 priv->attempted_bss_desc = bss_desc;
371 assoc->listen_interval = cpu_to_le16(priv->listen_interval);
402 (priv, bss_desc, rates, &rates_size))
406 priv->curr_bss_params.num_of_rates = rates_size;
407 memcpy(&priv->curr_bss_params.data_rates, rates, rates_size);
415 dev_dbg(priv->adapter->dev, "info: ASSOC_CMD: rates size = %d\n",
422 if (priv->sec_info.wep_enabled)
424 (u16) priv->sec_info.authentication_mode);
430 if (IS_SUPPORT_MULTI_BANDS(priv->adapter) &&
431 !(ISSUPP_11NENABLED(priv->adapter->fw_cap_info) &&
433 (priv->adapter->config_bands & BAND_GN ||
434 priv->adapter->config_bands & BAND_AN) &&
449 dev_dbg(priv->adapter->dev, "info: Assoc: TLV Chan = %d\n",
455 dev_dbg(priv->adapter->dev, "info: Assoc: TLV Band = %d\n",
461 if (!priv->wps.session_enable) {
462 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled)
463 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos);
469 if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info) &&
471 (priv->adapter->config_bands & BAND_GN ||
472 priv->adapter->config_bands & BAND_AN))
473 mwifiex_cmd_append_11n_tlv(priv, bss_desc, &pos);
476 mwifiex_cmd_append_vsie_tlv(priv, MWIFIEX_VSIE_MASK_ASSOC, &pos);
478 mwifiex_wmm_process_association_req(priv, &pos, &bss_desc->wmm_ie,
480 if (priv->sec_info.wapi_enabled && priv->wapi_ie_len)
481 mwifiex_cmd_append_wapi_ie(priv, &pos);
484 mwifiex_cmd_append_generic_ie(priv, &pos);
486 mwifiex_cmd_append_tsf_tlv(priv, &pos, bss_desc);
493 if (priv->adapter->config_bands == BAND_B)
497 dev_dbg(priv->adapter->dev, "info: ASSOC_CMD: tmp_cap=%4X CAPINFO_MASK=%4lX\n",
566 int mwifiex_ret_802_11_associate(struct mwifiex_private *priv,
569 struct mwifiex_adapter *adapter = priv->adapter;
577 priv->assoc_rsp_size = min(le16_to_cpu(resp->size) - S_DS_GEN,
578 sizeof(priv->assoc_rsp_buf));
580 memcpy(priv->assoc_rsp_buf, &resp->params, priv->assoc_rsp_size);
583 priv->adapter->dbg.num_cmd_assoc_failure++;
584 dev_err(priv->adapter->dev,
595 priv->media_connected = true;
597 priv->adapter->ps_state = PS_STATE_AWAKE;
598 priv->adapter->pps_uapsd_mode = false;
599 priv->adapter->tx_lock_flag = false;
602 bss_desc = priv->attempted_bss_desc;
604 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: %s\n",
608 memcpy(&priv->curr_bss_params.bss_descriptor,
612 priv->curr_bss_params.bss_descriptor.channel
615 priv->curr_bss_params.band = (u8) bss_desc->bss_band;
618 priv->curr_bss_params.wmm_enabled = true;
620 priv->curr_bss_params.wmm_enabled = false;
622 if ((priv->wmm_required || bss_desc->bcn_ht_cap) &&
623 priv->curr_bss_params.wmm_enabled)
624 priv->wmm_enabled = true;
626 priv->wmm_enabled = false;
628 priv->curr_bss_params.wmm_uapsd_enabled = false;
630 if (priv->wmm_enabled)
631 priv->curr_bss_params.wmm_uapsd_enabled
635 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: curr_pkt_filter is %#x\n",
636 priv->curr_pkt_filter);
637 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled)
638 priv->wpa_is_gtk_set = false;
640 if (priv->wmm_enabled) {
647 mwifiex_wmm_setup_queue_priorities(priv, NULL);
648 mwifiex_wmm_setup_ac_downgrade(priv);
652 dev_dbg(priv->adapter->dev,
656 priv->data_rssi_last = 0;
657 priv->data_nf_last = 0;
658 priv->data_rssi_avg = 0;
659 priv->data_nf_avg = 0;
660 priv->bcn_rssi_last = 0;
661 priv->bcn_nf_last = 0;
662 priv->bcn_rssi_avg = 0;
663 priv->bcn_nf_avg = 0;
664 priv->rxpd_rate = 0;
665 priv->rxpd_htinfo = 0;
667 mwifiex_save_curr_bcn(priv);
669 priv->adapter->dbg.num_cmd_assoc_success++;
671 dev_dbg(priv->adapter->dev, "info: ASSOC_RESP: associated\n");
675 mwifiex_ralist_add(priv,
676 priv->curr_bss_params.bss_descriptor.mac_address);
678 if (!netif_carrier_ok(priv->netdev))
679 netif_carrier_on(priv->netdev);
680 if (netif_queue_stopped(priv->netdev))
681 netif_wake_queue(priv->netdev);
683 if (priv->sec_info.wpa_enabled || priv->sec_info.wpa2_enabled)
684 priv->scan_block = true;
717 mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
722 struct mwifiex_adapter *adapter = priv->adapter;
742 bss_desc = &priv->curr_bss_params.bss_descriptor;
743 priv->attempted_bss_desc = bss_desc;
770 adhoc_start->beacon_period = cpu_to_le16(priv->beacon_period);
771 bss_desc->beacon_period = priv->beacon_period;
782 if (!mwifiex_get_cfp(priv, adapter->adhoc_start_band,
783 (u16) priv->adhoc_channel, 0)) {
785 cfp = mwifiex_get_cfp(priv, adapter->adhoc_start_band,
788 priv->adhoc_channel = (u8) cfp->channel;
791 if (!priv->adhoc_channel) {
797 priv->adhoc_channel);
799 priv->curr_bss_params.bss_descriptor.channel = priv->adhoc_channel;
800 priv->curr_bss_params.band = adapter->adhoc_start_band;
802 bss_desc->channel = priv->adhoc_channel;
804 priv->adhoc_channel;
818 = cpu_to_le16(priv->atim_window);
829 if (priv->sec_info.encryption_mode) {
842 mwifiex_get_active_data_rates(priv, adhoc_start->data_rate);
844 (priv->curr_pkt_filter & HostCmd_ACT_MAC_ADHOC_G_PROTECTION_ON)) {
845 if (mwifiex_send_cmd_async(priv, HostCmd_CMD_MAC_CONTROL,
847 &priv->curr_pkt_filter)) {
858 priv->curr_bss_params.num_of_rates = i;
861 memcpy(&priv->curr_bss_params.data_rates,
862 &adhoc_start->data_rate, priv->curr_bss_params.num_of_rates);
880 (u8) priv->curr_bss_params.bss_descriptor.channel;
886 = mwifiex_band_to_radio_type(priv->curr_bss_params.band);
908 cmd_append_size += mwifiex_cmd_append_vsie_tlv(priv,
911 if (priv->sec_info.wpa_enabled) {
912 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos);
926 priv->adapter->config_bands);
927 mwifiex_fill_cap_info(priv, radio_type, ht_cap);
940 (u8) priv->curr_bss_params.bss_descriptor.channel;
985 mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv,
1005 priv->
1008 if (mwifiex_send_cmd_async(priv, HostCmd_CMD_MAC_CONTROL,
1011 dev_err(priv->adapter->dev,
1017 priv->attempted_bss_desc = bss_desc;
1043 dev_dbg(priv->adapter->dev,
1048 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: BSSID=%pM, SSID='%s'\n",
1065 priv->curr_bss_params.num_of_rates = rates_size;
1066 memcpy(&priv->curr_bss_params.data_rates, bss_desc->supported_rates,
1070 priv->curr_bss_params.bss_descriptor.channel = bss_desc->channel;
1071 priv->curr_bss_params.band = (u8) bss_desc->bss_band;
1073 if (priv->sec_info.wep_enabled || priv->sec_info.wpa_enabled)
1076 if (IS_SUPPORT_MULTI_BANDS(priv->adapter)) {
1087 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: TLV Chan=%d\n",
1093 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: TLV Band=%d\n",
1101 if (priv->sec_info.wpa_enabled)
1102 rsn_ie_len = mwifiex_append_rsn_ie_wpa_wpa2(priv, &pos);
1107 if (ISSUPP_11NENABLED(priv->adapter->fw_cap_info))
1108 cmd_append_size += mwifiex_cmd_append_11n_tlv(priv,
1112 cmd_append_size += mwifiex_cmd_append_vsie_tlv(priv,
1132 int mwifiex_ret_802_11_ad_hoc(struct mwifiex_private *priv,
1136 struct mwifiex_adapter *adapter = priv->adapter;
1142 bss_desc = priv->attempted_bss_desc;
1146 dev_err(priv->adapter->dev, "ADHOC_RESP: failed\n");
1147 if (priv->media_connected)
1148 mwifiex_reset_connect_state(priv);
1150 memset(&priv->curr_bss_params.bss_descriptor,
1158 priv->media_connected = true;
1161 dev_dbg(priv->adapter->dev, "info: ADHOC_S_RESP %s\n",
1168 priv->adhoc_state = ADHOC_STARTED;
1174 dev_dbg(priv->adapter->dev, "info: ADHOC_J_RESP %s\n",
1182 memcpy(&priv->curr_bss_params.bss_descriptor,
1185 priv->adhoc_state = ADHOC_JOINED;
1188 dev_dbg(priv->adapter->dev, "info: ADHOC_RESP: channel = %d\n",
1189 priv->adhoc_channel);
1190 dev_dbg(priv->adapter->dev, "info: ADHOC_RESP: BSSID = %pM\n",
1191 priv->curr_bss_params.bss_descriptor.mac_address);
1193 if (!netif_carrier_ok(priv->netdev))
1194 netif_carrier_on(priv->netdev);
1195 if (netif_queue_stopped(priv->netdev))
1196 netif_wake_queue(priv->netdev);
1198 mwifiex_save_curr_bcn(priv);
1220 int mwifiex_associate(struct mwifiex_private *priv,
1226 if ((priv->bss_mode != NL80211_IFTYPE_STATION) ||
1231 &priv->curr_bss_params.bss_descriptor.mac_address,
1236 priv->assoc_rsp_size = 0;
1238 return mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_ASSOCIATE,
1248 mwifiex_adhoc_start(struct mwifiex_private *priv,
1251 dev_dbg(priv->adapter->dev, "info: Adhoc Channel = %d\n",
1252 priv->adhoc_channel);
1253 dev_dbg(priv->adapter->dev, "info: curr_bss_params.channel = %d\n",
1254 priv->curr_bss_params.bss_descriptor.channel);
1255 dev_dbg(priv->adapter->dev, "info: curr_bss_params.band = %d\n",
1256 priv->curr_bss_params.band);
1258 return mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_AD_HOC_START,
1268 int mwifiex_adhoc_join(struct mwifiex_private *priv,
1271 dev_dbg(priv->adapter->dev, "info: adhoc join: curr_bss ssid =%s\n",
1272 priv->curr_bss_params.bss_descriptor.ssid.ssid);
1273 dev_dbg(priv->adapter->dev, "info: adhoc join: curr_bss ssid_len =%u\n",
1274 priv->curr_bss_params.bss_descriptor.ssid.ssid_len);
1275 dev_dbg(priv->adapter->dev, "info: adhoc join: ssid =%s\n",
1277 dev_dbg(priv->adapter->dev, "info: adhoc join: ssid_len =%u\n",
1281 if (priv->curr_bss_params.bss_descriptor.ssid.ssid_len &&
1283 &priv->curr_bss_params.bss_descriptor.ssid) &&
1284 (priv->curr_bss_params.bss_descriptor.bss_mode ==
1286 dev_dbg(priv->adapter->dev, "info: ADHOC_J_CMD: new ad-hoc SSID"
1291 dev_dbg(priv->adapter->dev, "info: curr_bss_params.channel = %d\n",
1292 priv->curr_bss_params.bss_descriptor.channel);
1293 dev_dbg(priv->adapter->dev, "info: curr_bss_params.band = %c\n",
1294 priv->curr_bss_params.band);
1296 return mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_AD_HOC_JOIN,
1304 static int mwifiex_deauthenticate_infra(struct mwifiex_private *priv, u8 *mac)
1313 (u8 *) &priv->curr_bss_params.bss_descriptor.
1318 memcpy((u8 *) &mac_address, (u8 *) &priv->curr_bss_params.
1322 ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_DEAUTHENTICATE,
1334 int mwifiex_deauthenticate(struct mwifiex_private *priv, u8 *mac)
1338 if (priv->media_connected) {
1339 if (priv->bss_mode == NL80211_IFTYPE_STATION) {
1340 ret = mwifiex_deauthenticate_infra(priv, mac);
1341 } else if (priv->bss_mode == NL80211_IFTYPE_ADHOC) {
1342 ret = mwifiex_send_cmd_sync(priv,