diff options
Diffstat (limited to 'drivers/staging/rtl8723bs/core/rtw_ap.c')
-rw-r--r-- | drivers/staging/rtl8723bs/core/rtw_ap.c | 135 |
1 files changed, 65 insertions, 70 deletions
diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index a6fcb5e9d637..6064dd6a76b4 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -4,7 +4,6 @@ * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved. * ******************************************************************************/ -#define _RTW_AP_C_ #include <drv_types.h> #include <rtw_debug.h> @@ -56,7 +55,7 @@ static void update_BCNTIM(struct adapter *padapter) struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork_mlmeext = &pmlmeinfo->network; - unsigned char *pie = pnetwork_mlmeext->IEs; + unsigned char *pie = pnetwork_mlmeext->ies; /* update TIM IE */ u8 *p, *dst_ie, *premainder_ie = NULL, *pbackup_remainder_ie = NULL; @@ -68,7 +67,7 @@ static void update_BCNTIM(struct adapter *padapter) p = rtw_get_ie(pie + _FIXED_IE_LENGTH_, WLAN_EID_TIM, &tim_ielen, - pnetwork_mlmeext->IELength - _FIXED_IE_LENGTH_ + pnetwork_mlmeext->ie_length - _FIXED_IE_LENGTH_ ); if (p && tim_ielen > 0) { tim_ielen += 2; @@ -77,7 +76,7 @@ static void update_BCNTIM(struct adapter *padapter) tim_ie_offset = (signed int)(p - pie); - remainder_ielen = pnetwork_mlmeext->IELength - tim_ie_offset - tim_ielen; + remainder_ielen = pnetwork_mlmeext->ie_length - tim_ie_offset - tim_ielen; /* append TIM IE from dst_ie offset */ dst_ie = p; @@ -91,7 +90,7 @@ static void update_BCNTIM(struct adapter *padapter) p = rtw_get_ie(pie + _BEACON_IE_OFFSET_, WLAN_EID_SSID, &tmp_len, - (pnetwork_mlmeext->IELength - _BEACON_IE_OFFSET_) + (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_) ); if (p) offset += tmp_len + 2; @@ -99,7 +98,7 @@ static void update_BCNTIM(struct adapter *padapter) /* get supported rates len */ p = rtw_get_ie(pie + _BEACON_IE_OFFSET_, WLAN_EID_SUPP_RATES, &tmp_len, - (pnetwork_mlmeext->IELength - _BEACON_IE_OFFSET_) + (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_) ); if (p) offset += tmp_len + 2; @@ -109,7 +108,7 @@ static void update_BCNTIM(struct adapter *padapter) premainder_ie = pie + offset; - remainder_ielen = pnetwork_mlmeext->IELength - offset - tim_ielen; + remainder_ielen = pnetwork_mlmeext->ie_length - offset - tim_ielen; /* append TIM IE from offset */ dst_ie = pie + offset; @@ -161,7 +160,7 @@ static void update_BCNTIM(struct adapter *padapter) } offset = (uint)(dst_ie - pie); - pnetwork_mlmeext->IELength = offset + remainder_ielen; + pnetwork_mlmeext->ie_length = offset + remainder_ielen; } static u8 chk_sta_is_alive(struct sta_info *psta) @@ -340,7 +339,7 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level) shortGIrate = query_ra_short_GI(psta); - if (pcur_network->Configuration.DSConfig > 14) { + if (pcur_network->configuration.ds_config > 14) { sta_band |= WIRELESS_INVALID; } else { if (tx_ra_bitmap & 0xffff000) @@ -397,16 +396,16 @@ void update_bmc_sta(struct adapter *padapter) /* psta->dot118021XPrivacy = _NO_PRIVACY_;//!!! remove it, because it has been set before this. */ /* prepare for add_RATid */ - supportRateNum = rtw_get_rateset_len((u8 *)&pcur_network->SupportedRates); - network_type = rtw_check_network_type((u8 *)&pcur_network->SupportedRates, + supportRateNum = rtw_get_rateset_len((u8 *)&pcur_network->supported_rates); + network_type = rtw_check_network_type((u8 *)&pcur_network->supported_rates, supportRateNum, - pcur_network->Configuration.DSConfig + pcur_network->configuration.ds_config ); - if (IsSupportedTxCCK(network_type)) { + if (is_supported_tx_cck(network_type)) { network_type = WIRELESS_11B; } else if (network_type == WIRELESS_INVALID) { /* error handling */ - if (pcur_network->Configuration.DSConfig > 14) + if (pcur_network->configuration.ds_config > 14) network_type = WIRELESS_INVALID; else network_type = WIRELESS_11B; @@ -572,8 +571,8 @@ static void update_ap_info(struct adapter *padapter, struct sta_info *psta) psta->wireless_mode = pmlmeext->cur_wireless_mode; - psta->bssratelen = rtw_get_rateset_len(pnetwork->SupportedRates); - memcpy(psta->bssrateset, pnetwork->SupportedRates, psta->bssratelen); + psta->bssratelen = rtw_get_rateset_len(pnetwork->supported_rates); + memcpy(psta->bssrateset, pnetwork->supported_rates, psta->bssratelen); /* HT related cap */ if (phtpriv_ap->ht_option) { @@ -656,16 +655,16 @@ void start_bss_network(struct adapter *padapter) struct HT_info_element *pht_info = NULL; u8 cbw40_enable = 0; - bcn_interval = (u16)pnetwork->Configuration.BeaconPeriod; - cur_channel = pnetwork->Configuration.DSConfig; + bcn_interval = (u16)pnetwork->configuration.beacon_period; + cur_channel = pnetwork->configuration.ds_config; cur_bwmode = CHANNEL_WIDTH_20; cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE; /* check if there is wps ie, */ /* if there is wpsie in beacon, the hostapd will update beacon twice when stating hostapd, */ /* and at first time the security ie (RSN/WPA IE) will not include in beacon. */ - if (!rtw_get_wps_ie(pnetwork->IEs + _FIXED_IE_LENGTH_, - pnetwork->IELength - _FIXED_IE_LENGTH_, NULL, NULL)) + if (!rtw_get_wps_ie(pnetwork->ies + _FIXED_IE_LENGTH_, + pnetwork->ie_length - _FIXED_IE_LENGTH_, NULL, NULL)) pmlmeext->bstart_bss = true; /* todo: update wmm, ht cap */ @@ -694,7 +693,7 @@ void start_bss_network(struct adapter *padapter) Set_MSR(padapter, _HW_STATE_AP_); /* Set BSSID REG */ - rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pnetwork->MacAddress); + rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pnetwork->mac_address); /* Set EDCA param reg */ acparm = 0x002F3217; /* VO */ @@ -734,10 +733,10 @@ void start_bss_network(struct adapter *padapter) } /* set channel, bwmode */ - p = rtw_get_ie((pnetwork->IEs + sizeof(struct ndis_802_11_fix_ie)), + p = rtw_get_ie((pnetwork->ies + sizeof(struct ndis_802_11_fix_ie)), WLAN_EID_HT_OPERATION, &ie_len, - (pnetwork->IELength - sizeof(struct ndis_802_11_fix_ie)) + (pnetwork->ie_length - sizeof(struct ndis_802_11_fix_ie)) ); if (p && ie_len) { pht_info = (struct HT_info_element *)(p + 2); @@ -780,14 +779,14 @@ void start_bss_network(struct adapter *padapter) pmlmeext->cur_wireless_mode = pmlmepriv->cur_network.network_type; /* let pnetwork_mlmeext == pnetwork_mlme. */ - memcpy(pnetwork_mlmeext, pnetwork, pnetwork->Length); + memcpy(pnetwork_mlmeext, pnetwork, pnetwork->length); /* update cur_wireless_mode */ update_wireless_mode(padapter); /* update RRSR after set channel and bandwidth */ - UpdateBrateTbl(padapter, pnetwork->SupportedRates); - rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, pnetwork->SupportedRates); + UpdateBrateTbl(padapter, pnetwork->supported_rates); + rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, pnetwork->supported_rates); /* update capability after cur_wireless_mode updated */ update_capinfo( @@ -827,7 +826,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); struct wlan_bssid_ex *pbss_network = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network; - u8 *ie = pbss_network->IEs; + u8 *ie = pbss_network->ies; if (!check_fwstate(pmlmepriv, WIFI_AP_STATE)) return _FAIL; @@ -835,23 +834,23 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) if (len < 0 || len > MAX_IE_SZ) return _FAIL; - pbss_network->IELength = len; + pbss_network->ie_length = len; memset(ie, 0, MAX_IE_SZ); - memcpy(ie, pbuf, pbss_network->IELength); + memcpy(ie, pbuf, pbss_network->ie_length); - if (pbss_network->InfrastructureMode != Ndis802_11APMode) + if (pbss_network->infrastructure_mode != Ndis802_11APMode) return _FAIL; - pbss_network->Rssi = 0; + pbss_network->rssi = 0; - memcpy(pbss_network->MacAddress, myid(&(padapter->eeprompriv)), ETH_ALEN); + memcpy(pbss_network->mac_address, myid(&(padapter->eeprompriv)), ETH_ALEN); /* beacon interval */ p = rtw_get_beacon_interval_from_ie(ie);/* ie + 8; 8: TimeStamp, 2: Beacon Interval 2:Capability */ - /* pbss_network->Configuration.BeaconPeriod = le16_to_cpu(*(unsigned short*)p); */ - pbss_network->Configuration.BeaconPeriod = get_unaligned_le16(p); + /* pbss_network->configuration.beacon_period = le16_to_cpu(*(unsigned short*)p); */ + pbss_network->configuration.beacon_period = get_unaligned_le16(p); /* capability */ /* cap = *(unsigned short *)rtw_get_capability_from_ie(ie); */ @@ -863,26 +862,26 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_SSID, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) { - memset(&pbss_network->Ssid, 0, sizeof(struct ndis_802_11_ssid)); - memcpy(pbss_network->Ssid.Ssid, (p + 2), ie_len); - pbss_network->Ssid.SsidLength = ie_len; + memset(&pbss_network->ssid, 0, sizeof(struct ndis_802_11_ssid)); + memcpy(pbss_network->ssid.ssid, (p + 2), ie_len); + pbss_network->ssid.ssid_length = ie_len; } /* channel */ channel = 0; - pbss_network->Configuration.Length = 0; + pbss_network->configuration.length = 0; p = rtw_get_ie( ie + _BEACON_IE_OFFSET_, WLAN_EID_DS_PARAMS, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) channel = *(p + 2); - pbss_network->Configuration.DSConfig = channel; + pbss_network->configuration.ds_config = channel; memset(supportRate, 0, NDIS_802_11_LENGTH_RATES_EX); /* get supported rates */ @@ -890,7 +889,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_SUPP_RATES, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p != NULL) { memcpy(supportRate, p + 2, ie_len); @@ -902,7 +901,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_EXT_SUPP_RATES, &ie_len, - pbss_network->IELength - _BEACON_IE_OFFSET_ + pbss_network->ie_length - _BEACON_IE_OFFSET_ ); if (p != NULL) { memcpy(supportRate + supportRateNum, p + 2, ie_len); @@ -911,23 +910,23 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) network_type = rtw_check_network_type(supportRate, supportRateNum, channel); - rtw_set_supported_rate(pbss_network->SupportedRates, network_type); + rtw_set_supported_rate(pbss_network->supported_rates, network_type); /* parsing ERP_IE */ p = rtw_get_ie( ie + _BEACON_IE_OFFSET_, WLAN_EID_ERP_INFO, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) ERP_IE_handler(padapter, (struct ndis_80211_var_ie *)p); /* update privacy/security */ if (cap & BIT(4)) - pbss_network->Privacy = 1; + pbss_network->privacy = 1; else - pbss_network->Privacy = 0; + pbss_network->privacy = 0; psecuritypriv->wpa_psk = 0; @@ -939,7 +938,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_RSN, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) { if (rtw_parse_wpa2_ie( @@ -969,7 +968,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) p, WLAN_EID_VENDOR_SPECIFIC, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_ - (ie_len + 2)) + (pbss_network->ie_length - _BEACON_IE_OFFSET_ - (ie_len + 2)) ); if ((p) && (!memcmp(p + 2, OUI1, 4))) { if (rtw_parse_wpa_ie( @@ -1005,7 +1004,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) p, WLAN_EID_VENDOR_SPECIFIC, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_ - (ie_len + 2)) + (pbss_network->ie_length - _BEACON_IE_OFFSET_ - (ie_len + 2)) ); if ((p) && !memcmp(p + 2, WMM_PARA_IE, 6)) { pmlmepriv->qospriv.qos_option = 1; @@ -1032,10 +1031,9 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) { - u8 rf_type = 0; u8 max_rx_ampdu_factor = 0; struct ieee80211_ht_cap *pht_cap = (struct ieee80211_ht_cap *)(p + 2); @@ -1081,11 +1079,8 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) IEEE80211_HT_CAP_AMPDU_FACTOR & max_rx_ampdu_factor ); /* set Max Rx AMPDU size to 64K */ - rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type)); - if (rf_type == RF_1T1R) { - pht_cap->mcs.rx_mask[0] = 0xff; - pht_cap->mcs.rx_mask[1] = 0x0; - } + pht_cap->mcs.rx_mask[0] = 0xff; + pht_cap->mcs.rx_mask[1] = 0x0; memcpy(&pmlmepriv->htpriv.ht_cap, p + 2, ie_len); } @@ -1095,23 +1090,23 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_OPERATION, &ie_len, - (pbss_network->IELength - _BEACON_IE_OFFSET_) + (pbss_network->ie_length - _BEACON_IE_OFFSET_) ); if (p && ie_len > 0) pHT_info_ie = p; switch (network_type) { case WIRELESS_11B: - pbss_network->NetworkTypeInUse = Ndis802_11DS; + pbss_network->network_type_in_use = Ndis802_11DS; break; case WIRELESS_11G: case WIRELESS_11BG: case WIRELESS_11G_24N: case WIRELESS_11BG_24N: - pbss_network->NetworkTypeInUse = Ndis802_11OFDM24; + pbss_network->network_type_in_use = Ndis802_11OFDM24; break; default: - pbss_network->NetworkTypeInUse = Ndis802_11OFDM24; + pbss_network->network_type_in_use = Ndis802_11OFDM24; break; } @@ -1138,7 +1133,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) HT_info_handler(padapter, (struct ndis_80211_var_ie *)pHT_info_ie); } - pbss_network->Length = get_wlan_bssid_ex_sz( + pbss_network->length = get_wlan_bssid_ex_sz( (struct wlan_bssid_ex *)pbss_network ); @@ -1147,9 +1142,9 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) rtw_startbss_cmd(padapter, RTW_CMDF_WAIT_ACK); /* alloc sta_info for ap itself */ - psta = rtw_get_stainfo(&padapter->stapriv, pbss_network->MacAddress); + psta = rtw_get_stainfo(&padapter->stapriv, pbss_network->mac_address); if (!psta) { - psta = rtw_alloc_stainfo(&padapter->stapriv, pbss_network->MacAddress); + psta = rtw_alloc_stainfo(&padapter->stapriv, pbss_network->mac_address); if (psta == NULL) return _FAIL; } @@ -1405,7 +1400,7 @@ static void update_bcn_erpinfo_ie(struct adapter *padapter) struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); struct wlan_bssid_ex *pnetwork = &(pmlmeinfo->network); - unsigned char *p, *ie = pnetwork->IEs; + unsigned char *p, *ie = pnetwork->ies; u32 len = 0; if (!pmlmeinfo->ERP_enable) @@ -1416,7 +1411,7 @@ static void update_bcn_erpinfo_ie(struct adapter *padapter) ie + _BEACON_IE_OFFSET_, WLAN_EID_ERP_INFO, &len, - (pnetwork->IELength - _BEACON_IE_OFFSET_) + (pnetwork->ie_length - _BEACON_IE_OFFSET_) ); if (p && len > 0) { struct ndis_80211_var_ie *pIE = (struct ndis_80211_var_ie *)p; @@ -1469,8 +1464,8 @@ static void update_bcn_wps_ie(struct adapter *padapter) struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); struct wlan_bssid_ex *pnetwork = &(pmlmeinfo->network); - unsigned char *ie = pnetwork->IEs; - u32 ielen = pnetwork->IELength; + unsigned char *ie = pnetwork->ies; + u32 ielen = pnetwork->ie_length; pwps_ie = rtw_get_wps_ie( ie + _FIXED_IE_LENGTH_, @@ -1506,8 +1501,8 @@ static void update_bcn_wps_ie(struct adapter *padapter) if (pbackup_remainder_ie) memcpy(pwps_ie, pbackup_remainder_ie, remainder_ielen); - /* update IELength */ - pnetwork->IELength = wps_offset + (wps_ielen + 2) + remainder_ielen; + /* update ie_length */ + pnetwork->ie_length = wps_offset + (wps_ielen + 2) + remainder_ielen; } kfree(pbackup_remainder_ie); |