mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2024-11-23 13:03:39 +00:00
rtl8188eu: Remove tests on macro CONFIG_80211N_HT
This one is always selected. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
e9184bd34c
commit
e3e242b712
28 changed files with 46 additions and 428 deletions
|
@ -395,7 +395,6 @@ void expire_timeout_chk(_adapter *padapter)
|
||||||
psta->expire_to--;
|
psta->expire_to--;
|
||||||
|
|
||||||
#ifndef CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
#ifndef CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#ifdef CONFIG_TX_MCAST2UNI
|
#ifdef CONFIG_TX_MCAST2UNI
|
||||||
if ((psta->flags & WLAN_STA_HT) && (psta->htpriv.agg_enable_bitmap || psta->under_exist_checking)) {
|
if ((psta->flags & WLAN_STA_HT) && (psta->htpriv.agg_enable_bitmap || psta->under_exist_checking)) {
|
||||||
/* check sta by delba(addba) for 11n STA */
|
/* check sta by delba(addba) for 11n STA */
|
||||||
|
@ -416,7 +415,6 @@ void expire_timeout_chk(_adapter *padapter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_TX_MCAST2UNI */
|
#endif /* CONFIG_TX_MCAST2UNI */
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
#endif /* CONFIG_ACTIVE_KEEP_ALIVE_CHECK */
|
#endif /* CONFIG_ACTIVE_KEEP_ALIVE_CHECK */
|
||||||
|
|
||||||
if (psta->expire_to <= 0) {
|
if (psta->expire_to <= 0) {
|
||||||
|
@ -428,7 +426,6 @@ void expire_timeout_chk(_adapter *padapter)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
#ifndef CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
#define KEEP_ALIVE_TRYCNT (3)
|
#define KEEP_ALIVE_TRYCNT (3)
|
||||||
|
|
||||||
|
@ -478,7 +475,6 @@ void expire_timeout_chk(_adapter *padapter)
|
||||||
RTW_INFO("change to another methods to check alive if staion is at ps mode\n");
|
RTW_INFO("change to another methods to check alive if staion is at ps mode\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
#endif /* CONFIG_ACTIVE_KEEP_ALIVE_CHECK */
|
#endif /* CONFIG_ACTIVE_KEEP_ALIVE_CHECK */
|
||||||
if (psta->state & WIFI_SLEEP_STATE) {
|
if (psta->state & WIFI_SLEEP_STATE) {
|
||||||
if (!(psta->state & WIFI_STA_ALIVE_CHK_STATE)) {
|
if (!(psta->state & WIFI_STA_ALIVE_CHK_STATE)) {
|
||||||
|
@ -618,12 +614,10 @@ void add_RATid(_adapter *padapter, struct sta_info *psta, u8 rssi_level, u8 is_u
|
||||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||||
WLAN_BSSID_EX *pcur_network = (WLAN_BSSID_EX *)&pmlmepriv->cur_network.network;
|
WLAN_BSSID_EX *pcur_network = (WLAN_BSSID_EX *)&pmlmepriv->cur_network.network;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (psta)
|
if (psta)
|
||||||
psta_ht = &psta->htpriv;
|
psta_ht = &psta->htpriv;
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
if (!(psta->state & _FW_LINKED))
|
if (!(psta->state & _FW_LINKED))
|
||||||
return;
|
return;
|
||||||
|
@ -674,9 +668,7 @@ void update_bmc_sta(_adapter *padapter)
|
||||||
if (psta) {
|
if (psta) {
|
||||||
psta->aid = 0;/* default set to 0 */
|
psta->aid = 0;/* default set to 0 */
|
||||||
psta->qos_option = 0;
|
psta->qos_option = 0;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
psta->htpriv.ht_option = _FALSE;
|
psta->htpriv.ht_option = _FALSE;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
psta->ieee8021x_blocked = 0;
|
psta->ieee8021x_blocked = 0;
|
||||||
|
|
||||||
|
@ -721,10 +713,8 @@ void update_sta_info_apmode(_adapter *padapter, struct sta_info *psta)
|
||||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
|
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv_ap = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv_ap = &pmlmepriv->htpriv;
|
||||||
struct ht_priv *phtpriv_sta = &psta->htpriv;
|
struct ht_priv *phtpriv_sta = &psta->htpriv;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
u8 cur_ldpc_cap = 0, cur_stbc_cap = 0, cur_beamform_cap = 0;
|
u8 cur_ldpc_cap = 0, cur_stbc_cap = 0, cur_beamform_cap = 0;
|
||||||
/* set intf_tag to if1 */
|
/* set intf_tag to if1 */
|
||||||
/* psta->intf_tag = 0; */
|
/* psta->intf_tag = 0; */
|
||||||
|
@ -746,7 +736,6 @@ void update_sta_info_apmode(_adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
/* ERP */
|
/* ERP */
|
||||||
VCS_update(padapter, psta);
|
VCS_update(padapter, psta);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* HT related cap */
|
/* HT related cap */
|
||||||
if (phtpriv_sta->ht_option) {
|
if (phtpriv_sta->ht_option) {
|
||||||
/* check if sta supports rx ampdu */
|
/* check if sta supports rx ampdu */
|
||||||
|
@ -835,7 +824,6 @@ void update_sta_info_apmode(_adapter *padapter, struct sta_info *psta)
|
||||||
send_delba(padapter, 1, psta->hwaddr);/* */ /* originator */
|
send_delba(padapter, 1, psta->hwaddr);/* */ /* originator */
|
||||||
phtpriv_sta->agg_enable_bitmap = 0x0;/* reset */
|
phtpriv_sta->agg_enable_bitmap = 0x0;/* reset */
|
||||||
phtpriv_sta->candidate_tid_bitmap = 0x0;/* reset */
|
phtpriv_sta->candidate_tid_bitmap = 0x0;/* reset */
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
update_ldpc_stbc_cap(psta);
|
update_ldpc_stbc_cap(psta);
|
||||||
|
|
||||||
|
@ -856,16 +844,13 @@ static void update_ap_info(_adapter *padapter, struct sta_info *psta)
|
||||||
WLAN_BSSID_EX *pnetwork = (WLAN_BSSID_EX *)&pmlmepriv->cur_network.network;
|
WLAN_BSSID_EX *pnetwork = (WLAN_BSSID_EX *)&pmlmepriv->cur_network.network;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
|
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv_ap = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv_ap = &pmlmepriv->htpriv;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
psta->wireless_mode = pmlmeext->cur_wireless_mode;
|
psta->wireless_mode = pmlmeext->cur_wireless_mode;
|
||||||
|
|
||||||
psta->bssratelen = rtw_get_rateset_len(pnetwork->SupportedRates);
|
psta->bssratelen = rtw_get_rateset_len(pnetwork->SupportedRates);
|
||||||
_rtw_memcpy(psta->bssrateset, pnetwork->SupportedRates, psta->bssratelen);
|
_rtw_memcpy(psta->bssrateset, pnetwork->SupportedRates, psta->bssratelen);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* HT related cap */
|
/* HT related cap */
|
||||||
if (phtpriv_ap->ht_option) {
|
if (phtpriv_ap->ht_option) {
|
||||||
/* check if sta supports rx ampdu */
|
/* check if sta supports rx ampdu */
|
||||||
|
@ -894,8 +879,6 @@ static void update_ap_info(_adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
_rtw_memcpy(&psta->htpriv, &pmlmepriv->htpriv, sizeof(struct ht_priv));
|
_rtw_memcpy(&psta->htpriv, &pmlmepriv->htpriv, sizeof(struct ht_priv));
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
psta->state |= WIFI_AP_STATE; /* Aries, add,fix bug of flush_cam_entry at STOP AP mode , 0724 */
|
psta->state |= WIFI_AP_STATE; /* Aries, add,fix bug of flush_cam_entry at STOP AP mode , 0724 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1246,7 +1229,6 @@ void start_bss_network(_adapter *padapter, struct createbss_parm *parm)
|
||||||
/* pmlmeinfo->HT_enable; */
|
/* pmlmeinfo->HT_enable; */
|
||||||
if (pmlmepriv->qospriv.qos_option)
|
if (pmlmepriv->qospriv.qos_option)
|
||||||
pmlmeinfo->WMM_enable = _TRUE;
|
pmlmeinfo->WMM_enable = _TRUE;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (pmlmepriv->htpriv.ht_option) {
|
if (pmlmepriv->htpriv.ht_option) {
|
||||||
pmlmeinfo->WMM_enable = _TRUE;
|
pmlmeinfo->WMM_enable = _TRUE;
|
||||||
pmlmeinfo->HT_enable = _TRUE;
|
pmlmeinfo->HT_enable = _TRUE;
|
||||||
|
@ -1255,7 +1237,6 @@ void start_bss_network(_adapter *padapter, struct createbss_parm *parm)
|
||||||
|
|
||||||
update_hw_ht_param(padapter);
|
update_hw_ht_param(padapter);
|
||||||
}
|
}
|
||||||
#endif /* #CONFIG_80211N_HT */
|
|
||||||
if (pmlmepriv->cur_network.join_res != _TRUE) { /* setting only at first time */
|
if (pmlmepriv->cur_network.join_res != _TRUE) { /* setting only at first time */
|
||||||
/* WEP Key will be set before this function, do not clear CAM. */
|
/* WEP Key will be set before this function, do not clear CAM. */
|
||||||
if ((psecuritypriv->dot11PrivacyAlgrthm != _WEP40_) && (psecuritypriv->dot11PrivacyAlgrthm != _WEP104_))
|
if ((psecuritypriv->dot11PrivacyAlgrthm != _WEP40_) && (psecuritypriv->dot11PrivacyAlgrthm != _WEP104_))
|
||||||
|
@ -1681,7 +1662,6 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* parsing HT_CAP_IE */
|
/* parsing HT_CAP_IE */
|
||||||
p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_CAPABILITY_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
|
p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_CAPABILITY_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
|
||||||
if (p && ie_len > 0) {
|
if (p && ie_len > 0) {
|
||||||
|
@ -1801,7 +1781,6 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len)
|
||||||
p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_ADD_INFO_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
|
p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_ADD_INFO_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
|
||||||
if (p && ie_len > 0)
|
if (p && ie_len > 0)
|
||||||
pHT_info_ie = p;
|
pHT_info_ie = p;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
switch (network_type) {
|
switch (network_type) {
|
||||||
case WIRELESS_11B:
|
case WIRELESS_11B:
|
||||||
pbss_network->NetworkTypeInUse = Ndis802_11DS;
|
pbss_network->NetworkTypeInUse = Ndis802_11DS;
|
||||||
|
@ -1822,7 +1801,6 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len)
|
||||||
|
|
||||||
pmlmepriv->cur_network.network_type = network_type;
|
pmlmepriv->cur_network.network_type = network_type;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmepriv->htpriv.ht_option = _FALSE;
|
pmlmepriv->htpriv.ht_option = _FALSE;
|
||||||
|
|
||||||
if ((psecuritypriv->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
|
if ((psecuritypriv->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
|
||||||
|
@ -1842,7 +1820,6 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len)
|
||||||
|
|
||||||
HT_info_handler(padapter, (PNDIS_802_11_VARIABLE_IEs)pHT_info_ie);
|
HT_info_handler(padapter, (PNDIS_802_11_VARIABLE_IEs)pHT_info_ie);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if(pbss_network->Configuration.DSConfig <= 14 && padapter->registrypriv.wifi_spec == 1) {
|
if(pbss_network->Configuration.DSConfig <= 14 && padapter->registrypriv.wifi_spec == 1) {
|
||||||
uint len = 0;
|
uint len = 0;
|
||||||
|
|
||||||
|
@ -2677,8 +2654,6 @@ void _update_beacon(_adapter *padapter, u8 ie_id, u8 *oui, u8 tx, const char *ta
|
||||||
#endif /* !CONFIG_INTERRUPT_BASED_TXBCN */
|
#endif /* !CONFIG_INTERRUPT_BASED_TXBCN */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
void rtw_process_public_act_bsscoex(_adapter *padapter, u8 *pframe, uint frame_len)
|
void rtw_process_public_act_bsscoex(_adapter *padapter, u8 *pframe, uint frame_len)
|
||||||
{
|
{
|
||||||
struct sta_info *psta;
|
struct sta_info *psta;
|
||||||
|
@ -2853,8 +2828,6 @@ int rtw_ht_operation_update(_adapter *padapter)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
void associated_clients_update(_adapter *padapter, u8 updated, u32 sta_info_type)
|
void associated_clients_update(_adapter *padapter, u8 updated, u32 sta_info_type)
|
||||||
{
|
{
|
||||||
/* update associcated stations cap. */
|
/* update associcated stations cap. */
|
||||||
|
@ -3006,8 +2979,6 @@ void bss_cap_update_on_sta_join(_adapter *padapter, struct sta_info *psta)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
if (psta->flags & WLAN_STA_HT) {
|
if (psta->flags & WLAN_STA_HT) {
|
||||||
u16 ht_capab = le16_to_cpu(psta->htpriv.ht_cap.cap_info);
|
u16 ht_capab = le16_to_cpu(psta->htpriv.ht_cap.cap_info);
|
||||||
|
|
||||||
|
@ -3060,8 +3031,6 @@ void bss_cap_update_on_sta_join(_adapter *padapter, struct sta_info *psta)
|
||||||
/*beacon_updated = _TRUE;*/
|
/*beacon_updated = _TRUE;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
/* update associcated stations cap. */
|
/* update associcated stations cap. */
|
||||||
associated_clients_update(padapter, beacon_updated, STA_INFO_UPDATE_ALL);
|
associated_clients_update(padapter, beacon_updated, STA_INFO_UPDATE_ALL);
|
||||||
|
|
||||||
|
@ -3107,8 +3076,6 @@ u8 bss_cap_update_on_sta_leave(_adapter *padapter, struct sta_info *psta)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
if (psta->no_ht_gf_set) {
|
if (psta->no_ht_gf_set) {
|
||||||
psta->no_ht_gf_set = 0;
|
psta->no_ht_gf_set = 0;
|
||||||
pmlmepriv->num_sta_ht_no_gf--;
|
pmlmepriv->num_sta_ht_no_gf--;
|
||||||
|
@ -3124,24 +3091,14 @@ u8 bss_cap_update_on_sta_leave(_adapter *padapter, struct sta_info *psta)
|
||||||
pmlmepriv->num_sta_ht_20mhz--;
|
pmlmepriv->num_sta_ht_20mhz--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (rtw_ht_operation_update(padapter) > 0) {
|
if (rtw_ht_operation_update(padapter) > 0) {
|
||||||
update_beacon(padapter, _HT_CAPABILITY_IE_, NULL, _FALSE);
|
update_beacon(padapter, _HT_CAPABILITY_IE_, NULL, _FALSE);
|
||||||
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, _TRUE);
|
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, _TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* update associated stations cap. */
|
|
||||||
associated_clients_update(padapter, beacon_updated, STA_INFO_UPDATE_ALL); /* move it to avoid deadlock */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
RTW_INFO("%s, updated=%d\n", __func__, beacon_updated);
|
RTW_INFO("%s, updated=%d\n", __func__, beacon_updated);
|
||||||
|
|
||||||
return beacon_updated;
|
return beacon_updated;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reason, bool enqueue)
|
u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reason, bool enqueue)
|
||||||
|
@ -3156,15 +3113,12 @@ u8 ap_free_sta(_adapter *padapter, struct sta_info *psta, bool active, u16 reaso
|
||||||
return beacon_updated;
|
return beacon_updated;
|
||||||
|
|
||||||
if (active == _TRUE) {
|
if (active == _TRUE) {
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* tear down Rx AMPDU */
|
/* tear down Rx AMPDU */
|
||||||
send_delba(padapter, 0, psta->hwaddr);/* recipient */
|
send_delba(padapter, 0, psta->hwaddr);/* recipient */
|
||||||
|
|
||||||
/* tear down TX AMPDU */
|
/* tear down TX AMPDU */
|
||||||
send_delba(padapter, 1, psta->hwaddr);/* */ /* originator */
|
send_delba(padapter, 1, psta->hwaddr);/* */ /* originator */
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
issue_deauth(padapter, psta->hwaddr, reason);
|
issue_deauth(padapter, psta->hwaddr, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3316,8 +3270,6 @@ void sta_info_update(_adapter *padapter, struct sta_info *psta)
|
||||||
if (pmlmepriv->qospriv.qos_option == 0)
|
if (pmlmepriv->qospriv.qos_option == 0)
|
||||||
psta->qos_option = 0;
|
psta->qos_option = 0;
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* update 802.11n ht cap. */
|
/* update 802.11n ht cap. */
|
||||||
if (WLAN_STA_HT & flags) {
|
if (WLAN_STA_HT & flags) {
|
||||||
psta->htpriv.ht_option = _TRUE;
|
psta->htpriv.ht_option = _TRUE;
|
||||||
|
@ -3330,7 +3282,6 @@ void sta_info_update(_adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
||||||
psta->htpriv.ht_option = _FALSE;
|
psta->htpriv.ht_option = _FALSE;
|
||||||
#endif
|
|
||||||
update_sta_info_apmode(padapter, psta);
|
update_sta_info_apmode(padapter, psta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3426,9 +3377,7 @@ void start_ap_mode(_adapter *padapter)
|
||||||
pmlmepriv->num_sta_no_short_preamble = 0;
|
pmlmepriv->num_sta_no_short_preamble = 0;
|
||||||
|
|
||||||
pmlmepriv->num_sta_ht_no_gf = 0;
|
pmlmepriv->num_sta_ht_no_gf = 0;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmepriv->num_sta_no_ht = 0;
|
pmlmepriv->num_sta_no_ht = 0;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
pmlmeinfo->HT_info_enable = 0;
|
pmlmeinfo->HT_info_enable = 0;
|
||||||
pmlmeinfo->HT_caps_enable = 0;
|
pmlmeinfo->HT_caps_enable = 0;
|
||||||
pmlmeinfo->HT_enable = 0;
|
pmlmeinfo->HT_enable = 0;
|
||||||
|
@ -3438,12 +3387,10 @@ void start_ap_mode(_adapter *padapter)
|
||||||
ATOMIC_SET(&pmlmepriv->olbc, _FALSE);
|
ATOMIC_SET(&pmlmepriv->olbc, _FALSE);
|
||||||
ATOMIC_SET(&pmlmepriv->olbc_ht, _FALSE);
|
ATOMIC_SET(&pmlmepriv->olbc_ht, _FALSE);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmepriv->ht_20mhz_width_req = _FALSE;
|
pmlmepriv->ht_20mhz_width_req = _FALSE;
|
||||||
pmlmepriv->ht_intolerant_ch_reported = _FALSE;
|
pmlmepriv->ht_intolerant_ch_reported = _FALSE;
|
||||||
pmlmepriv->ht_op_mode = 0;
|
pmlmepriv->ht_op_mode = 0;
|
||||||
pmlmepriv->sw_to_20mhz = 0;
|
pmlmepriv->sw_to_20mhz = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
_rtw_memset(pmlmepriv->ext_capab_ie_data, 0, sizeof(pmlmepriv->ext_capab_ie_data));
|
_rtw_memset(pmlmepriv->ext_capab_ie_data, 0, sizeof(pmlmepriv->ext_capab_ie_data));
|
||||||
pmlmepriv->ext_capab_ie_len = 0;
|
pmlmepriv->ext_capab_ie_len = 0;
|
||||||
|
@ -3549,8 +3496,6 @@ void rtw_ap_update_bss_chbw(_adapter *adapter, WLAN_BSSID_EX *bss, u8 ch, u8 bw,
|
||||||
#define UPDATE_VHT_CAP 1
|
#define UPDATE_VHT_CAP 1
|
||||||
#define UPDATE_HT_CAP 1
|
#define UPDATE_HT_CAP 1
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
{
|
|
||||||
struct ht_priv *htpriv = &adapter->mlmepriv.htpriv;
|
struct ht_priv *htpriv = &adapter->mlmepriv.htpriv;
|
||||||
u8 *ht_cap_ie, *ht_op_ie;
|
u8 *ht_cap_ie, *ht_op_ie;
|
||||||
int ht_cap_ielen, ht_op_ielen;
|
int ht_cap_ielen, ht_op_ielen;
|
||||||
|
@ -3599,8 +3544,6 @@ void rtw_ap_update_bss_chbw(_adapter *adapter, WLAN_BSSID_EX *bss, u8 ch, u8 bw,
|
||||||
else
|
else
|
||||||
SET_HT_OP_ELE_STA_CHL_WIDTH(ht_op_ie + 2, 0);
|
SET_HT_OP_ELE_STA_CHL_WIDTH(ht_op_ie + 2, 0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
{
|
{
|
||||||
u8 *p;
|
u8 *p;
|
||||||
|
|
|
@ -1353,9 +1353,7 @@ u8 rtw_joinbss_cmd(_adapter *padapter, struct wlan_network *pnetwork)
|
||||||
struct qos_priv *pqospriv = &pmlmepriv->qospriv;
|
struct qos_priv *pqospriv = &pmlmepriv->qospriv;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
NDIS_802_11_NETWORK_INFRASTRUCTURE ndis_network_mode = pnetwork->network.InfrastructureMode;
|
NDIS_802_11_NETWORK_INFRASTRUCTURE ndis_network_mode = pnetwork->network.InfrastructureMode;
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||||
|
@ -1450,7 +1448,6 @@ u8 rtw_joinbss_cmd(_adapter *padapter, struct wlan_network *pnetwork)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
phtpriv->ht_option = _FALSE;
|
phtpriv->ht_option = _FALSE;
|
||||||
ptmp = rtw_get_ie(&pnetwork->network.IEs[12], _HT_CAPABILITY_IE_, &tmp_len, pnetwork->network.IELength - 12);
|
ptmp = rtw_get_ie(&pnetwork->network.IEs[12], _HT_CAPABILITY_IE_, &tmp_len, pnetwork->network.IELength - 12);
|
||||||
if (pregistrypriv->ht_enable && ptmp && tmp_len > 0) {
|
if (pregistrypriv->ht_enable && ptmp && tmp_len > 0) {
|
||||||
|
@ -1473,8 +1470,6 @@ u8 rtw_joinbss_cmd(_adapter *padapter, struct wlan_network *pnetwork)
|
||||||
|
|
||||||
rtw_append_exented_cap(padapter, &psecnetwork->IEs[0], &psecnetwork->IELength);
|
rtw_append_exented_cap(padapter, &psecnetwork->IEs[0], &psecnetwork->IELength);
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#ifdef CONFIG_RTW_80211R
|
#ifdef CONFIG_RTW_80211R
|
||||||
/*IEEE802.11-2012 Std. Table 8-101¡XAKM suite selectors*/
|
/*IEEE802.11-2012 Std. Table 8-101¡XAKM suite selectors*/
|
||||||
if ((rtw_chk_ft_flags(padapter, RTW_FT_STA_SUPPORTED)) &&
|
if ((rtw_chk_ft_flags(padapter, RTW_FT_STA_SUPPORTED)) &&
|
||||||
|
|
|
@ -1002,10 +1002,7 @@ int proc_get_ht_option(struct seq_file *m, void *v)
|
||||||
_adapter *padapter = (_adapter *)rtw_netdev_priv(dev);
|
_adapter *padapter = (_adapter *)rtw_netdev_priv(dev);
|
||||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_PRINT_SEL(m, "ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
RTW_PRINT_SEL(m, "ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1035,17 +1032,10 @@ int proc_get_scan_param(struct seq_file *m, void *v)
|
||||||
#define SCAN_PARAM_VALUE_FMT "%-10u"
|
#define SCAN_PARAM_VALUE_FMT "%-10u"
|
||||||
#define SCAN_PARAM_TITLE_ARG , "scan_ch_ms"
|
#define SCAN_PARAM_TITLE_ARG , "scan_ch_ms"
|
||||||
#define SCAN_PARAM_VALUE_ARG , ss->scan_ch_ms
|
#define SCAN_PARAM_VALUE_ARG , ss->scan_ch_ms
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#define SCAN_PARAM_TITLE_FMT_HT " %15s %13s"
|
#define SCAN_PARAM_TITLE_FMT_HT " %15s %13s"
|
||||||
#define SCAN_PARAM_VALUE_FMT_HT " %-15u %-13u"
|
#define SCAN_PARAM_VALUE_FMT_HT " %-15u %-13u"
|
||||||
#define SCAN_PARAM_TITLE_ARG_HT , "rx_ampdu_accept", "rx_ampdu_size"
|
#define SCAN_PARAM_TITLE_ARG_HT , "rx_ampdu_accept", "rx_ampdu_size"
|
||||||
#define SCAN_PARAM_VALUE_ARG_HT , ss->rx_ampdu_accept, ss->rx_ampdu_size
|
#define SCAN_PARAM_VALUE_ARG_HT , ss->rx_ampdu_accept, ss->rx_ampdu_size
|
||||||
#else
|
|
||||||
#define SCAN_PARAM_TITLE_FMT_HT ""
|
|
||||||
#define SCAN_PARAM_VALUE_FMT_HT ""
|
|
||||||
#define SCAN_PARAM_TITLE_ARG_HT
|
|
||||||
#define SCAN_PARAM_VALUE_ARG_HT
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SCAN_BACKOP
|
#ifdef CONFIG_SCAN_BACKOP
|
||||||
#define SCAN_PARAM_TITLE_FMT_BACKOP " %9s %12s"
|
#define SCAN_PARAM_TITLE_FMT_BACKOP " %9s %12s"
|
||||||
#define SCAN_PARAM_VALUE_FMT_BACKOP " %-9u %-12u"
|
#define SCAN_PARAM_VALUE_FMT_BACKOP " %-9u %-12u"
|
||||||
|
@ -1093,15 +1083,10 @@ ssize_t proc_set_scan_param(struct file *file, const char __user *buffer, size_t
|
||||||
u16 scan_ch_ms;
|
u16 scan_ch_ms;
|
||||||
#define SCAN_PARAM_INPUT_FMT "%hu"
|
#define SCAN_PARAM_INPUT_FMT "%hu"
|
||||||
#define SCAN_PARAM_INPUT_ARG , &scan_ch_ms
|
#define SCAN_PARAM_INPUT_ARG , &scan_ch_ms
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
u8 rx_ampdu_accept;
|
u8 rx_ampdu_accept;
|
||||||
u8 rx_ampdu_size;
|
u8 rx_ampdu_size;
|
||||||
#define SCAN_PARAM_INPUT_FMT_HT " %hhu %hhu"
|
#define SCAN_PARAM_INPUT_FMT_HT " %hhu %hhu"
|
||||||
#define SCAN_PARAM_INPUT_ARG_HT , &rx_ampdu_accept, &rx_ampdu_size
|
#define SCAN_PARAM_INPUT_ARG_HT , &rx_ampdu_accept, &rx_ampdu_size
|
||||||
#else
|
|
||||||
#define SCAN_PARAM_INPUT_FMT_HT ""
|
|
||||||
#define SCAN_PARAM_INPUT_ARG_HT
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SCAN_BACKOP
|
#ifdef CONFIG_SCAN_BACKOP
|
||||||
u16 backop_ms;
|
u16 backop_ms;
|
||||||
u8 scan_cnt_max;
|
u8 scan_cnt_max;
|
||||||
|
@ -1133,12 +1118,10 @@ ssize_t proc_set_scan_param(struct file *file, const char __user *buffer, size_t
|
||||||
|
|
||||||
if (num-- > 0)
|
if (num-- > 0)
|
||||||
ss->scan_ch_ms = scan_ch_ms;
|
ss->scan_ch_ms = scan_ch_ms;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (num-- > 0)
|
if (num-- > 0)
|
||||||
ss->rx_ampdu_accept = rx_ampdu_accept;
|
ss->rx_ampdu_accept = rx_ampdu_accept;
|
||||||
if (num-- > 0)
|
if (num-- > 0)
|
||||||
ss->rx_ampdu_size = rx_ampdu_size;
|
ss->rx_ampdu_size = rx_ampdu_size;
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SCAN_BACKOP
|
#ifdef CONFIG_SCAN_BACKOP
|
||||||
if (num-- > 0)
|
if (num-- > 0)
|
||||||
ss->backop_ms = backop_ms;
|
ss->backop_ms = backop_ms;
|
||||||
|
@ -1404,13 +1387,11 @@ int proc_get_ap_info(struct seq_file *m, void *v)
|
||||||
RTW_PRINT_SEL(m, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
RTW_PRINT_SEL(m, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
||||||
RTW_PRINT_SEL(m, "wireless_mode=0x%x, rtsen=%d, cts2slef=%d\n", psta->wireless_mode, psta->rtsen, psta->cts2self);
|
RTW_PRINT_SEL(m, "wireless_mode=0x%x, rtsen=%d, cts2slef=%d\n", psta->wireless_mode, psta->rtsen, psta->cts2self);
|
||||||
RTW_PRINT_SEL(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
RTW_PRINT_SEL(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_PRINT_SEL(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
RTW_PRINT_SEL(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
RTW_PRINT_SEL(m, "bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
RTW_PRINT_SEL(m, "bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
||||||
RTW_PRINT_SEL(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
RTW_PRINT_SEL(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
RTW_PRINT_SEL(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
RTW_PRINT_SEL(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
RTW_PRINT_SEL(m, "ldpc_cap=0x%x, stbc_cap=0x%x, beamform_cap=0x%x\n", psta->htpriv.ldpc_cap, psta->htpriv.stbc_cap, psta->htpriv.beamform_cap);
|
RTW_PRINT_SEL(m, "ldpc_cap=0x%x, stbc_cap=0x%x, beamform_cap=0x%x\n", psta->htpriv.ldpc_cap, psta->htpriv.stbc_cap, psta->htpriv.beamform_cap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
sta_rx_reorder_ctl_dump(m, psta);
|
sta_rx_reorder_ctl_dump(m, psta);
|
||||||
} else
|
} else
|
||||||
RTW_PRINT_SEL(m, "can't get sta's macaddr, cur_network's macaddr:" MAC_FMT "\n", MAC_ARG(cur_network->network.MacAddress));
|
RTW_PRINT_SEL(m, "can't get sta's macaddr, cur_network's macaddr:" MAC_FMT "\n", MAC_ARG(cur_network->network.MacAddress));
|
||||||
|
@ -2272,7 +2253,6 @@ ssize_t proc_set_rx_signal(struct file *file, const char __user *buffer, size_t
|
||||||
return count;
|
return count;
|
||||||
|
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
int proc_get_ht_enable(struct seq_file *m, void *v)
|
int proc_get_ht_enable(struct seq_file *m, void *v)
|
||||||
{
|
{
|
||||||
|
@ -2709,7 +2689,6 @@ ssize_t proc_set_tx_amsdu_rate(struct file *file, const char __user *buffer, siz
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_TX_AMSDU */
|
#endif /* CONFIG_TX_AMSDU */
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
int proc_get_en_fwps(struct seq_file *m, void *v)
|
int proc_get_en_fwps(struct seq_file *m, void *v)
|
||||||
{
|
{
|
||||||
|
@ -2771,7 +2750,6 @@ int proc_get_two_path_rssi(struct seq_file *m, void *v)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void rtw_dump_dft_phy_cap(void *sel, _adapter *adapter)
|
void rtw_dump_dft_phy_cap(void *sel, _adapter *adapter)
|
||||||
{
|
{
|
||||||
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
||||||
|
@ -3013,60 +2991,7 @@ ssize_t proc_set_txbf_cap(struct file *file, const char __user *buffer, size_t c
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
/*int proc_get_rssi_disp(struct seq_file *m, void *v)
|
|
||||||
{
|
|
||||||
struct net_device *dev = m->private;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*ssize_t proc_set_rssi_disp(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data)
|
|
||||||
{
|
|
||||||
struct net_device *dev = data;
|
|
||||||
_adapter *padapter = (_adapter *)rtw_netdev_priv(dev);
|
|
||||||
char tmp[32];
|
|
||||||
u32 enable=0;
|
|
||||||
|
|
||||||
if (count < 1)
|
|
||||||
{
|
|
||||||
RTW_INFO("argument size is less than 1\n");
|
|
||||||
return -EFAULT;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count > sizeof(tmp)) {
|
|
||||||
rtw_warn_on(1);
|
|
||||||
return -EFAULT;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buffer && !copy_from_user(tmp, buffer, count)) {
|
|
||||||
|
|
||||||
int num = sscanf(tmp, "%x", &enable);
|
|
||||||
|
|
||||||
if (num != 1) {
|
|
||||||
RTW_INFO("invalid set_rssi_disp parameter!\n");
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(enable)
|
|
||||||
{
|
|
||||||
RTW_INFO("Linked info Function Enable\n");
|
|
||||||
padapter->bLinkInfoDump = enable ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
RTW_INFO("Linked info Function Disable\n");
|
|
||||||
padapter->bLinkInfoDump = 0 ;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return count;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
|
|
||||||
int proc_get_all_sta_info(struct seq_file *m, void *v)
|
int proc_get_all_sta_info(struct seq_file *m, void *v)
|
||||||
|
@ -3098,13 +3023,11 @@ int proc_get_all_sta_info(struct seq_file *m, void *v)
|
||||||
RTW_PRINT_SEL(m, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
RTW_PRINT_SEL(m, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
||||||
RTW_PRINT_SEL(m, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
RTW_PRINT_SEL(m, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
RTW_PRINT_SEL(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
RTW_PRINT_SEL(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_PRINT_SEL(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
RTW_PRINT_SEL(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
RTW_PRINT_SEL(m, "bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
RTW_PRINT_SEL(m, "bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
||||||
RTW_PRINT_SEL(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
RTW_PRINT_SEL(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
RTW_PRINT_SEL(m, "tx_amsdu_enable = %d\n", psta->htpriv.tx_amsdu_enable);
|
RTW_PRINT_SEL(m, "tx_amsdu_enable = %d\n", psta->htpriv.tx_amsdu_enable);
|
||||||
RTW_PRINT_SEL(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
RTW_PRINT_SEL(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
RTW_PRINT_SEL(m, "sleepq_len=%d\n", psta->sleepq_len);
|
RTW_PRINT_SEL(m, "sleepq_len=%d\n", psta->sleepq_len);
|
||||||
RTW_PRINT_SEL(m, "sta_xmitpriv.vo_q_qcnt=%d\n", psta->sta_xmitpriv.vo_q.qcnt);
|
RTW_PRINT_SEL(m, "sta_xmitpriv.vo_q_qcnt=%d\n", psta->sta_xmitpriv.vo_q.qcnt);
|
||||||
RTW_PRINT_SEL(m, "sta_xmitpriv.vi_q_qcnt=%d\n", psta->sta_xmitpriv.vi_q.qcnt);
|
RTW_PRINT_SEL(m, "sta_xmitpriv.vi_q_qcnt=%d\n", psta->sta_xmitpriv.vi_q.qcnt);
|
||||||
|
|
|
@ -498,13 +498,11 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv)
|
||||||
if (rateLen > 8)
|
if (rateLen > 8)
|
||||||
ie = rtw_set_ie(ie, _EXT_SUPPORTEDRATES_IE_, (rateLen - 8), (pdev_network->SupportedRates + 8), &sz);
|
ie = rtw_set_ie(ie, _EXT_SUPPORTEDRATES_IE_, (rateLen - 8), (pdev_network->SupportedRates + 8), &sz);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* HT Cap. */
|
/* HT Cap. */
|
||||||
if (((pregistrypriv->wireless_mode & WIRELESS_11_5N) || (pregistrypriv->wireless_mode & WIRELESS_11_24N))
|
if (((pregistrypriv->wireless_mode & WIRELESS_11_5N) || (pregistrypriv->wireless_mode & WIRELESS_11_24N))
|
||||||
&& (pregistrypriv->ht_enable == _TRUE)) {
|
&& (pregistrypriv->ht_enable == _TRUE)) {
|
||||||
/* todo: */
|
/* todo: */
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
return sz;
|
return sz;
|
||||||
}
|
}
|
||||||
|
@ -1421,7 +1419,6 @@ err_chk:
|
||||||
RTW_INFO("%s mac addr:"MAC_FMT"\n", __func__, MAC_ARG(out));
|
RTW_INFO("%s mac addr:"MAC_FMT"\n", __func__, MAC_ARG(out));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void dump_ht_cap_ie_content(void *sel, u8 *buf, u32 buf_len)
|
void dump_ht_cap_ie_content(void *sel, u8 *buf, u32 buf_len)
|
||||||
{
|
{
|
||||||
if (buf_len != 26) {
|
if (buf_len != 26) {
|
||||||
|
@ -1451,7 +1448,6 @@ static void dump_ht_cap_ie(void *sel, u8 *ie, u32 ie_len)
|
||||||
|
|
||||||
dump_ht_cap_ie_content(sel, ht_cap_ie + 2, ht_cap_ielen);
|
dump_ht_cap_ie_content(sel, ht_cap_ie + 2, ht_cap_ielen);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
void dump_ies(void *sel, u8 *buf, u32 buf_len)
|
void dump_ies(void *sel, u8 *buf, u32 buf_len)
|
||||||
{
|
{
|
||||||
|
@ -1463,9 +1459,7 @@ void dump_ies(void *sel, u8 *buf, u32 buf_len)
|
||||||
len = *(pos + 1);
|
len = *(pos + 1);
|
||||||
|
|
||||||
RTW_PRINT_SEL(sel, "%s ID:%u, LEN:%u\n", __func__, id, len);
|
RTW_PRINT_SEL(sel, "%s ID:%u, LEN:%u\n", __func__, id, len);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
dump_ht_cap_ie(sel, pos, len + 2);
|
dump_ht_cap_ie(sel, pos, len + 2);
|
||||||
#endif
|
|
||||||
dump_wps_ie(sel, pos, len + 2);
|
dump_wps_ie(sel, pos, len + 2);
|
||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
dump_p2p_ie(sel, pos, len + 2);
|
dump_p2p_ie(sel, pos, len + 2);
|
||||||
|
@ -1524,7 +1518,6 @@ void rtw_ies_get_chbw(u8 *ies, int ies_len, u8 *ch, u8 *bw, u8 *offset)
|
||||||
if (p && ie_len > 0)
|
if (p && ie_len > 0)
|
||||||
*ch = *(p + 2);
|
*ch = *(p + 2);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
{
|
{
|
||||||
u8 *ht_cap_ie, *ht_op_ie;
|
u8 *ht_cap_ie, *ht_op_ie;
|
||||||
int ht_cap_ielen, ht_op_ielen;
|
int ht_cap_ielen, ht_op_ielen;
|
||||||
|
@ -1559,7 +1552,6 @@ void rtw_ies_get_chbw(u8 *ies, int ies_len, u8 *ch, u8 *bw, u8 *offset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void rtw_bss_get_chbw(WLAN_BSSID_EX *bss, u8 *ch, u8 *bw, u8 *offset)
|
void rtw_bss_get_chbw(WLAN_BSSID_EX *bss, u8 *ch, u8 *bw, u8 *offset)
|
||||||
|
|
|
@ -982,9 +982,7 @@ u16 rtw_get_cur_max_rate(_adapter *adapter)
|
||||||
WLAN_BSSID_EX *pcur_bss = &pmlmepriv->cur_network.network;
|
WLAN_BSSID_EX *pcur_bss = &pmlmepriv->cur_network.network;
|
||||||
struct sta_info *psta = NULL;
|
struct sta_info *psta = NULL;
|
||||||
u8 short_GI = 0;
|
u8 short_GI = 0;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
u8 rf_type = 0;
|
u8 rf_type = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_MP_INCLUDED
|
#ifdef CONFIG_MP_INCLUDED
|
||||||
if (adapter->registrypriv.mp_mode == 1) {
|
if (adapter->registrypriv.mp_mode == 1) {
|
||||||
|
@ -1003,7 +1001,6 @@ u16 rtw_get_cur_max_rate(_adapter *adapter)
|
||||||
|
|
||||||
short_GI = query_ra_short_GI(psta, psta->bw_mode);
|
short_GI = query_ra_short_GI(psta, psta->bw_mode);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (is_supported_ht(psta->wireless_mode)) {
|
if (is_supported_ht(psta->wireless_mode)) {
|
||||||
rtw_hal_get_hwreg(adapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
|
rtw_hal_get_hwreg(adapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
|
||||||
max_rate = rtw_mcs_rate(rf_type
|
max_rate = rtw_mcs_rate(rf_type
|
||||||
|
@ -1011,10 +1008,7 @@ u16 rtw_get_cur_max_rate(_adapter *adapter)
|
||||||
, short_GI
|
, short_GI
|
||||||
, psta->htpriv.ht_cap.supp_mcs_set
|
, psta->htpriv.ht_cap.supp_mcs_set
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
{
|
|
||||||
while ((pcur_bss->SupportedRates[i] != 0) && (pcur_bss->SupportedRates[i] != 0xFF)) {
|
while ((pcur_bss->SupportedRates[i] != 0) && (pcur_bss->SupportedRates[i] != 0xFF)) {
|
||||||
rate = pcur_bss->SupportedRates[i] & 0x7F;
|
rate = pcur_bss->SupportedRates[i] & 0x7F;
|
||||||
if (rate > max_rate)
|
if (rate > max_rate)
|
||||||
|
|
|
@ -35,9 +35,7 @@ static sint _rtw_init_mlme_priv(_adapter *padapter)
|
||||||
sint res = _SUCCESS;
|
sint res = _SUCCESS;
|
||||||
|
|
||||||
/*ht_priv*/
|
/*ht_priv*/
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmepriv->htpriv.ampdu_enable = _FALSE;/*set to disabled*/
|
pmlmepriv->htpriv.ampdu_enable = _FALSE;/*set to disabled*/
|
||||||
#endif
|
|
||||||
|
|
||||||
pmlmepriv->nic_hdl = (u8 *)padapter;
|
pmlmepriv->nic_hdl = (u8 *)padapter;
|
||||||
|
|
||||||
|
@ -1880,9 +1878,7 @@ static void rtw_joinbss_update_network(_adapter *padapter, struct wlan_network *
|
||||||
rtw_update_protection(padapter, (cur_network->network.IEs) + sizeof(NDIS_802_11_FIXED_IEs),
|
rtw_update_protection(padapter, (cur_network->network.IEs) + sizeof(NDIS_802_11_FIXED_IEs),
|
||||||
(cur_network->network.IELength));
|
(cur_network->network.IELength));
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
rtw_update_ht_cap(padapter, cur_network->network.IEs, cur_network->network.IELength, (u8) cur_network->network.Configuration.DSConfig);
|
rtw_update_ht_cap(padapter, cur_network->network.IEs, cur_network->network.IELength, (u8) cur_network->network.Configuration.DSConfig);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Notes: the fucntion could be > passive_level (the same context as Rx tasklet)
|
/* Notes: the fucntion could be > passive_level (the same context as Rx tasklet)
|
||||||
|
@ -3780,8 +3776,6 @@ void rtw_joinbss_reset(_adapter *padapter)
|
||||||
u8 threshold;
|
u8 threshold;
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
/* todo: if you want to do something io/reg/hw setting before join_bss, please add code here */
|
/* todo: if you want to do something io/reg/hw setting before join_bss, please add code here */
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
||||||
|
|
||||||
pmlmepriv->num_FortyMHzIntolerant = 0;
|
pmlmepriv->num_FortyMHzIntolerant = 0;
|
||||||
|
@ -3802,10 +3796,8 @@ void rtw_joinbss_reset(_adapter *padapter)
|
||||||
threshold = 1;
|
threshold = 1;
|
||||||
rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
|
rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
|
||||||
}
|
}
|
||||||
#endif/* #ifdef CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void rtw_ht_use_default_setting(_adapter *padapter)
|
void rtw_ht_use_default_setting(_adapter *padapter)
|
||||||
{
|
{
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
@ -4322,7 +4314,6 @@ void rtw_append_exented_cap(_adapter *padapter, u8 *out_ie, uint *pout_len)
|
||||||
if (_FALSE == _rtw_memcmp(cap_content, null_content, 8))
|
if (_FALSE == _rtw_memcmp(cap_content, null_content, 8))
|
||||||
pframe = rtw_set_ie(out_ie + *pout_len, EID_EXTCapability, 8, cap_content , pout_len);
|
pframe = rtw_set_ie(out_ie + *pout_len, EID_EXTCapability, 8, cap_content , pout_len);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_LAYER2_ROAMING
|
#ifdef CONFIG_LAYER2_ROAMING
|
||||||
inline void rtw_set_to_roam(_adapter *adapter, u8 to_roam)
|
inline void rtw_set_to_roam(_adapter *adapter, u8 to_roam)
|
||||||
|
|
|
@ -1705,7 +1705,6 @@ _continue:
|
||||||
psta->qos_option = 1;
|
psta->qos_option = 1;
|
||||||
psta->bw_mode = CHANNEL_WIDTH_20;
|
psta->bw_mode = CHANNEL_WIDTH_20;
|
||||||
psta->ieee8021x_blocked = _FALSE;
|
psta->ieee8021x_blocked = _FALSE;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
psta->htpriv.ht_option = _TRUE;
|
psta->htpriv.ht_option = _TRUE;
|
||||||
psta->htpriv.ampdu_enable = _FALSE;
|
psta->htpriv.ampdu_enable = _FALSE;
|
||||||
psta->htpriv.sgi_20m = _FALSE;
|
psta->htpriv.sgi_20m = _FALSE;
|
||||||
|
@ -1713,7 +1712,6 @@ _continue:
|
||||||
psta->htpriv.ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
|
psta->htpriv.ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
|
||||||
psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
|
psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
|
||||||
psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
|
psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
|
||||||
#endif
|
|
||||||
|
|
||||||
rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, _TRUE);
|
rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, _TRUE);
|
||||||
|
|
||||||
|
@ -2808,7 +2806,6 @@ unsigned int OnAssocReq(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
||||||
goto bypass_ht_chk;
|
goto bypass_ht_chk;
|
||||||
|
|
||||||
|
@ -2830,7 +2827,6 @@ bypass_ht_chk:
|
||||||
status = _STATS_FAILURE_;
|
status = _STATS_FAILURE_;
|
||||||
goto OnAssocReqFail;
|
goto OnAssocReqFail;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
if (((pstat->flags & WLAN_STA_HT) || (pstat->flags & WLAN_STA_VHT)) &&
|
if (((pstat->flags & WLAN_STA_HT) || (pstat->flags & WLAN_STA_VHT)) &&
|
||||||
((pstat->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
|
((pstat->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
|
||||||
|
@ -3761,7 +3757,6 @@ unsigned int OnAction_back(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
u8 *pframe = precv_frame->u.hdr.rx_data;
|
u8 *pframe = precv_frame->u.hdr.rx_data;
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
RTW_INFO("%s\n", __func__);
|
RTW_INFO("%s\n", __func__);
|
||||||
|
|
||||||
|
@ -3769,12 +3764,6 @@ unsigned int OnAction_back(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
if (!_rtw_memcmp(adapter_mac_addr(padapter), GetAddr1Ptr(pframe), ETH_ALEN))
|
if (!_rtw_memcmp(adapter_mac_addr(padapter), GetAddr1Ptr(pframe), ETH_ALEN))
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* check A1 matches or not */
|
|
||||||
if (!_rtw_memcmp(adapter_mac_addr(padapter), get_da(pframe), ETH_ALEN))
|
|
||||||
return _SUCCESS;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
|
if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
|
||||||
if (!(pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS))
|
if (!(pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS))
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
|
@ -3859,7 +3848,6 @@ unsigned int OnAction_back(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6837,13 +6825,11 @@ unsigned int on_action_public(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
action = frame_body[1];
|
action = frame_body[1];
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case ACT_PUBLIC_BSSCOEXIST:
|
case ACT_PUBLIC_BSSCOEXIST:
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
/*20/40 BSS Coexistence Management frame is a Public Action frame*/
|
/*20/40 BSS Coexistence Management frame is a Public Action frame*/
|
||||||
if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == _TRUE)
|
if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == _TRUE)
|
||||||
rtw_process_public_act_bsscoex(padapter, pframe, frame_len);
|
rtw_process_public_act_bsscoex(padapter, pframe, frame_len);
|
||||||
#endif /*CONFIG_AP_MODE*/
|
#endif /*CONFIG_AP_MODE*/
|
||||||
#endif /*CONFIG_80211N_HT*/
|
|
||||||
break;
|
break;
|
||||||
case ACT_PUBLIC_VENDOR:
|
case ACT_PUBLIC_VENDOR:
|
||||||
ret = on_action_public_vendor(precv_frame);
|
ret = on_action_public_vendor(precv_frame);
|
||||||
|
@ -6960,12 +6946,10 @@ unsigned int OnAction_ht(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
action = frame_body[1];
|
action = frame_body[1];
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case RTW_WLAN_ACTION_HT_SM_PS:
|
case RTW_WLAN_ACTION_HT_SM_PS:
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == _TRUE)
|
if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == _TRUE)
|
||||||
rtw_process_ht_action_smps(padapter, get_addr2_ptr(pframe), frame_body[2]);
|
rtw_process_ht_action_smps(padapter, get_addr2_ptr(pframe), frame_body[2]);
|
||||||
#endif /*CONFIG_AP_MODE*/
|
#endif /*CONFIG_AP_MODE*/
|
||||||
#endif /*CONFIG_80211N_HT*/
|
|
||||||
break;
|
break;
|
||||||
case RTW_WLAN_ACTION_HT_COMPRESS_BEAMFORMING:
|
case RTW_WLAN_ACTION_HT_COMPRESS_BEAMFORMING:
|
||||||
#ifdef CONFIG_BEAMFORMING
|
#ifdef CONFIG_BEAMFORMING
|
||||||
|
@ -8457,7 +8441,6 @@ void issue_asocrsp(_adapter *padapter, unsigned short status, struct sta_info *p
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_IEEE80211W */
|
#endif /* CONFIG_IEEE80211W */
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if ((pstat->flags & WLAN_STA_HT) && (pmlmepriv->htpriv.ht_option)) {
|
if ((pstat->flags & WLAN_STA_HT) && (pmlmepriv->htpriv.ht_option)) {
|
||||||
uint ie_len = 0;
|
uint ie_len = 0;
|
||||||
|
|
||||||
|
@ -8480,7 +8463,6 @@ void issue_asocrsp(_adapter *padapter, unsigned short status, struct sta_info *p
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*adding EXT_CAPAB_IE */
|
/*adding EXT_CAPAB_IE */
|
||||||
if (pmlmepriv->ext_capab_ie_len > 0) {
|
if (pmlmepriv->ext_capab_ie_len > 0) {
|
||||||
|
@ -8801,7 +8783,6 @@ void _issue_assocreq(_adapter *padapter, u8 is_reassoc)
|
||||||
#endif
|
#endif
|
||||||
pframe = rtw_set_ie(pframe, EID_WPA2, pIE->Length, pIE->data, &(pattrib->pktlen));
|
pframe = rtw_set_ie(pframe, EID_WPA2, pIE->Length, pIE->data, &(pattrib->pktlen));
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case EID_HTCapability:
|
case EID_HTCapability:
|
||||||
if (padapter->mlmepriv.htpriv.ht_option == _TRUE) {
|
if (padapter->mlmepriv.htpriv.ht_option == _TRUE) {
|
||||||
if (!(is_ap_in_tkip(padapter))) {
|
if (!(is_ap_in_tkip(padapter))) {
|
||||||
|
@ -8815,7 +8796,6 @@ void _issue_assocreq(_adapter *padapter, u8 is_reassoc)
|
||||||
if (padapter->mlmepriv.htpriv.ht_option == _TRUE)
|
if (padapter->mlmepriv.htpriv.ht_option == _TRUE)
|
||||||
pframe = rtw_set_ie(pframe, EID_EXTCapability, pIE->Length, pIE->data, &(pattrib->pktlen));
|
pframe = rtw_set_ie(pframe, EID_EXTCapability, pIE->Length, pIE->data, &(pattrib->pktlen));
|
||||||
break;
|
break;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -9679,8 +9659,6 @@ static int issue_action_ba(_adapter *padapter, unsigned char *raddr, unsigned ch
|
||||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||||
struct registry_priv *pregpriv = &padapter->registrypriv;
|
struct registry_priv *pregpriv = &padapter->registrypriv;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
if (rtw_rfctl_is_tx_blocked_by_ch_waiting(adapter_to_rfctl(padapter)))
|
if (rtw_rfctl_is_tx_blocked_by_ch_waiting(adapter_to_rfctl(padapter)))
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
@ -9807,7 +9785,6 @@ static int issue_action_ba(_adapter *padapter, unsigned char *raddr, unsigned ch
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10003,7 +9980,7 @@ static void issue_action_BSSCoexistPacket(_adapter *padapter)
|
||||||
_queue *queue = &(pmlmepriv->scanned_queue);
|
_queue *queue = &(pmlmepriv->scanned_queue);
|
||||||
u8 InfoContent[16] = {0};
|
u8 InfoContent[16] = {0};
|
||||||
u8 ICS[8][15];
|
u8 ICS[8][15];
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if ((pmlmepriv->num_FortyMHzIntolerant == 0) || (pmlmepriv->num_sta_no_ht == 0))
|
if ((pmlmepriv->num_FortyMHzIntolerant == 0) || (pmlmepriv->num_sta_no_ht == 0))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -10132,7 +10109,6 @@ static void issue_action_BSSCoexistPacket(_adapter *padapter)
|
||||||
pattrib->last_txcmdsz = pattrib->pktlen;
|
pattrib->last_txcmdsz = pattrib->pktlen;
|
||||||
|
|
||||||
dump_mgntframe(padapter, pmgntframe);
|
dump_mgntframe(padapter, pmgntframe);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Spatial Multiplexing Powersave (SMPS) action frame */
|
/* Spatial Multiplexing Powersave (SMPS) action frame */
|
||||||
|
@ -10316,13 +10292,11 @@ static unsigned int _send_delba_sta_tid(_adapter *adapter, u8 initiator, struct
|
||||||
}
|
}
|
||||||
} else if (initiator == 1) {
|
} else if (initiator == 1) {
|
||||||
/* originator */
|
/* originator */
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (force || sta->htpriv.agg_enable_bitmap & BIT(tid)) {
|
if (force || sta->htpriv.agg_enable_bitmap & BIT(tid)) {
|
||||||
sta->htpriv.agg_enable_bitmap &= ~BIT(tid);
|
sta->htpriv.agg_enable_bitmap &= ~BIT(tid);
|
||||||
sta->htpriv.candidate_tid_bitmap &= ~BIT(tid);
|
sta->htpriv.candidate_tid_bitmap &= ~BIT(tid);
|
||||||
issue_del_ba(adapter, sta->hwaddr, tid, 37, initiator);
|
issue_del_ba(adapter, sta->hwaddr, tid, 37, initiator);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
@ -10635,7 +10609,6 @@ u8 collect_bss_info(_adapter *padapter, union recv_frame *precv_frame, WLAN_BSSI
|
||||||
/* 20/40 BSS Coexistence check */
|
/* 20/40 BSS Coexistence check */
|
||||||
if ((pregistrypriv->wifi_spec == 1) && (_FALSE == pmlmeinfo->bwmode_updated)) {
|
if ((pregistrypriv->wifi_spec == 1) && (_FALSE == pmlmeinfo->bwmode_updated)) {
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
p = rtw_get_ie(bssid->IEs + ie_offset, _HT_CAPABILITY_IE_, &len, bssid->IELength - ie_offset);
|
p = rtw_get_ie(bssid->IEs + ie_offset, _HT_CAPABILITY_IE_, &len, bssid->IELength - ie_offset);
|
||||||
if (p && len > 0) {
|
if (p && len > 0) {
|
||||||
struct HT_caps_element *pHT_caps;
|
struct HT_caps_element *pHT_caps;
|
||||||
|
@ -10645,8 +10618,6 @@ u8 collect_bss_info(_adapter *padapter, union recv_frame *precv_frame, WLAN_BSSI
|
||||||
pmlmepriv->num_FortyMHzIntolerant++;
|
pmlmepriv->num_FortyMHzIntolerant++;
|
||||||
} else
|
} else
|
||||||
pmlmepriv->num_sta_no_ht++;
|
pmlmepriv->num_sta_no_ht++;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_INTEL_WIDI
|
#ifdef CONFIG_INTEL_WIDI
|
||||||
|
@ -11636,7 +11607,6 @@ void update_sta_info(_adapter *padapter, struct sta_info *psta)
|
||||||
/* ERP */
|
/* ERP */
|
||||||
VCS_update(padapter, psta);
|
VCS_update(padapter, psta);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* HT */
|
/* HT */
|
||||||
if (pmlmepriv->htpriv.ht_option) {
|
if (pmlmepriv->htpriv.ht_option) {
|
||||||
psta->htpriv.ht_option = _TRUE;
|
psta->htpriv.ht_option = _TRUE;
|
||||||
|
@ -11659,25 +11629,20 @@ void update_sta_info(_adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
_rtw_memcpy(&psta->htpriv.ht_cap, &pmlmeinfo->HT_caps, sizeof(struct rtw_ieee80211_ht_cap));
|
_rtw_memcpy(&psta->htpriv.ht_cap, &pmlmeinfo->HT_caps, sizeof(struct rtw_ieee80211_ht_cap));
|
||||||
} else
|
} else
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
psta->htpriv.ht_option = _FALSE;
|
psta->htpriv.ht_option = _FALSE;
|
||||||
psta->htpriv.ampdu_enable = _FALSE;
|
psta->htpriv.ampdu_enable = _FALSE;
|
||||||
psta->htpriv.tx_amsdu_enable = _FALSE;
|
psta->htpriv.tx_amsdu_enable = _FALSE;
|
||||||
psta->htpriv.sgi_20m = _FALSE;
|
psta->htpriv.sgi_20m = _FALSE;
|
||||||
psta->htpriv.sgi_40m = _FALSE;
|
psta->htpriv.sgi_40m = _FALSE;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
psta->qos_option = _FALSE;
|
psta->qos_option = _FALSE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
psta->htpriv.ch_offset = pmlmeext->cur_ch_offset;
|
psta->htpriv.ch_offset = pmlmeext->cur_ch_offset;
|
||||||
|
|
||||||
psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
|
psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
|
||||||
psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
|
psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
psta->bw_mode = pmlmeext->cur_bwmode;
|
psta->bw_mode = pmlmeext->cur_bwmode;
|
||||||
|
|
||||||
|
@ -12556,7 +12521,6 @@ void link_timer_hdl(_adapter *padapter)
|
||||||
|
|
||||||
void addba_timer_hdl(struct sta_info *psta)
|
void addba_timer_hdl(struct sta_info *psta)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv;
|
struct ht_priv *phtpriv;
|
||||||
|
|
||||||
if (!psta)
|
if (!psta)
|
||||||
|
@ -12569,7 +12533,6 @@ void addba_timer_hdl(struct sta_info *psta)
|
||||||
phtpriv->candidate_tid_bitmap = 0x0;
|
phtpriv->candidate_tid_bitmap = 0x0;
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_IEEE80211W
|
#ifdef CONFIG_IEEE80211W
|
||||||
|
@ -13169,8 +13132,6 @@ u8 join_cmd_hdl(_adapter *padapter, u8 *pbuf)
|
||||||
if (_rtw_memcmp(pIE->data, WMM_OUI, 4))
|
if (_rtw_memcmp(pIE->data, WMM_OUI, 4))
|
||||||
WMM_param_handler(padapter, pIE);
|
WMM_param_handler(padapter, pIE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case _HT_CAPABILITY_IE_: /* Get HT Cap IE. */
|
case _HT_CAPABILITY_IE_: /* Get HT Cap IE. */
|
||||||
pmlmeinfo->HT_caps_enable = 1;
|
pmlmeinfo->HT_caps_enable = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -13178,8 +13139,6 @@ u8 join_cmd_hdl(_adapter *padapter, u8 *pbuf)
|
||||||
case _HT_EXTRA_INFO_IE_: /* Get HT Info IE. */
|
case _HT_EXTRA_INFO_IE_: /* Get HT Info IE. */
|
||||||
pmlmeinfo->HT_info_enable = 1;
|
pmlmeinfo->HT_info_enable = 1;
|
||||||
break;
|
break;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -14526,7 +14485,6 @@ u8 add_ba_hdl(_adapter *padapter, unsigned char *pbuf)
|
||||||
if (!psta)
|
if (!psta)
|
||||||
return H2C_SUCCESS;
|
return H2C_SUCCESS;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && (pmlmeinfo->HT_enable)) ||
|
if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && (pmlmeinfo->HT_enable)) ||
|
||||||
((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
|
((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
|
||||||
/* pmlmeinfo->ADDBA_retry_count = 0; */
|
/* pmlmeinfo->ADDBA_retry_count = 0; */
|
||||||
|
@ -14546,7 +14504,6 @@ u8 add_ba_hdl(_adapter *padapter, unsigned char *pbuf)
|
||||||
#endif /* CONFIG */
|
#endif /* CONFIG */
|
||||||
else
|
else
|
||||||
psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid);
|
psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return H2C_SUCCESS;
|
return H2C_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,10 +154,7 @@ static void _init_mp_priv_(struct mp_priv *pmp_priv)
|
||||||
_rtw_memcpy(pnetwork->Ssid.Ssid, "mp_871x", pnetwork->Ssid.SsidLength);
|
_rtw_memcpy(pnetwork->Ssid.Ssid, "mp_871x", pnetwork->Ssid.SsidLength);
|
||||||
|
|
||||||
pmp_priv->tx.payload = 2;
|
pmp_priv->tx.payload = 2;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmp_priv->tx.attrib.ht_en = 1;
|
pmp_priv->tx.attrib.ht_en = 1;
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int init_mp_priv_by_os(struct mp_priv *pmp_priv)
|
static int init_mp_priv_by_os(struct mp_priv *pmp_priv)
|
||||||
|
|
|
@ -3086,9 +3086,6 @@ int process_recv_indicatepkts(_adapter *padapter, union recv_frame *prframe)
|
||||||
#ifdef CONFIG_TDLS
|
#ifdef CONFIG_TDLS
|
||||||
struct sta_info *psta = prframe->u.hdr.psta;
|
struct sta_info *psta = prframe->u.hdr.psta;
|
||||||
#endif /* CONFIG_TDLS */
|
#endif /* CONFIG_TDLS */
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
||||||
|
|
||||||
DBG_COUNTER(padapter->rx_logs.core_rx_post_indicate);
|
DBG_COUNTER(padapter->rx_logs.core_rx_post_indicate);
|
||||||
|
@ -3115,7 +3112,6 @@ int process_recv_indicatepkts(_adapter *padapter, union recv_frame *prframe)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else /* B/G mode */
|
} else /* B/G mode */
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
retval = wlanhdr_to_ethhdr(prframe);
|
retval = wlanhdr_to_ethhdr(prframe);
|
||||||
if (retval != _SUCCESS) {
|
if (retval != _SUCCESS) {
|
||||||
|
@ -3802,7 +3798,6 @@ static int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe)
|
||||||
rtw_wapi_update_info(padapter, prframe);
|
rtw_wapi_update_info(padapter, prframe);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
ret = process_recv_indicatepkts(padapter, prframe);
|
ret = process_recv_indicatepkts(padapter, prframe);
|
||||||
if (ret != _SUCCESS) {
|
if (ret != _SUCCESS) {
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
#ifdef DBG_RX_DROP_FRAME
|
||||||
|
@ -3812,54 +3807,6 @@ static int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe)
|
||||||
DBG_COUNTER(padapter->rx_logs.core_rx_post_indicate_err);
|
DBG_COUNTER(padapter->rx_logs.core_rx_post_indicate_err);
|
||||||
goto _recv_data_drop;
|
goto _recv_data_drop;
|
||||||
}
|
}
|
||||||
#else /* CONFIG_80211N_HT */
|
|
||||||
if (!pattrib->amsdu) {
|
|
||||||
ret = wlanhdr_to_ethhdr(prframe);
|
|
||||||
if (ret != _SUCCESS) {
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
RTW_INFO("DBG_RX_DROP_FRAME %s wlanhdr_to_ethhdr: drop pkt\n", __func__);
|
|
||||||
#endif
|
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue);/* free this recv_frame */
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!RTW_CANNOT_RUN(padapter)) {
|
|
||||||
/* indicate this recv_frame */
|
|
||||||
ret = rtw_recv_indicatepkt(padapter, prframe);
|
|
||||||
if (ret != _SUCCESS) {
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
RTW_INFO("DBG_RX_DROP_FRAME %s rtw_recv_indicatepkt fail!\n", __func__);
|
|
||||||
#endif
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
RTW_INFO("DBG_RX_DROP_FRAME %s recv_func:bDriverStopped(%s) OR bSurpriseRemoved(%s)\n", __func__
|
|
||||||
, rtw_is_drv_stopped(padapter) ? "True" : "False"
|
|
||||||
, rtw_is_surprise_removed(padapter) ? "True" : "False");
|
|
||||||
#endif
|
|
||||||
ret = _FAIL;
|
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue); /* free this recv_frame */
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (pattrib->amsdu == 1) {
|
|
||||||
|
|
||||||
ret = amsdu_to_msdu(padapter, prframe);
|
|
||||||
if (ret != _SUCCESS) {
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
RTW_INFO("DBG_RX_DROP_FRAME %s amsdu_to_msdu fail\n", __func__);
|
|
||||||
#endif
|
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue);
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
RTW_INFO("DBG_RX_DROP_FRAME %s what is this condition??\n", __func__);
|
|
||||||
#endif
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
_exit_recv_func:
|
_exit_recv_func:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -316,7 +316,6 @@ void rtw_tdls_set_key(_adapter *padapter, struct sta_info *ptdls_sta)
|
||||||
rtw_setstakey_cmd(padapter, ptdls_sta, TDLS_KEY, _TRUE);
|
rtw_setstakey_cmd(padapter, ptdls_sta, TDLS_KEY, _TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void rtw_tdls_process_ht_cap(_adapter *padapter, struct sta_info *ptdls_sta, u8 *data, u8 Length)
|
void rtw_tdls_process_ht_cap(_adapter *padapter, struct sta_info *ptdls_sta, u8 *data, u8 Length)
|
||||||
{
|
{
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
|
@ -419,7 +418,6 @@ u8 *rtw_tdls_set_ht_cap(_adapter *padapter, u8 *pframe, struct pkt_attrib *pattr
|
||||||
|
|
||||||
return pframe + pattrib->pktlen;
|
return pframe + pattrib->pktlen;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
u8 *rtw_tdls_set_sup_ch(struct mlme_ext_priv *pmlmeext, u8 *pframe, struct pkt_attrib *pattrib)
|
u8 *rtw_tdls_set_sup_ch(struct mlme_ext_priv *pmlmeext, u8 *pframe, struct pkt_attrib *pattrib)
|
||||||
{
|
{
|
||||||
|
@ -1619,11 +1617,9 @@ sint On_TDLS_Setup_Req(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
break;
|
break;
|
||||||
case _RIC_Descriptor_IE_:
|
case _RIC_Descriptor_IE_:
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case _HT_CAPABILITY_IE_:
|
case _HT_CAPABILITY_IE_:
|
||||||
rtw_tdls_process_ht_cap(padapter, ptdls_sta, pIE->data, pIE->Length);
|
rtw_tdls_process_ht_cap(padapter, ptdls_sta, pIE->data, pIE->Length);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case EID_BSSCoexistence:
|
case EID_BSSCoexistence:
|
||||||
break;
|
break;
|
||||||
case _LINK_ID_IE_:
|
case _LINK_ID_IE_:
|
||||||
|
@ -1799,11 +1795,9 @@ int On_TDLS_Setup_Rsp(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
break;
|
break;
|
||||||
case _RIC_Descriptor_IE_:
|
case _RIC_Descriptor_IE_:
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case _HT_CAPABILITY_IE_:
|
case _HT_CAPABILITY_IE_:
|
||||||
rtw_tdls_process_ht_cap(padapter, ptdls_sta, pIE->data, pIE->Length);
|
rtw_tdls_process_ht_cap(padapter, ptdls_sta, pIE->data, pIE->Length);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case EID_BSSCoexistence:
|
case EID_BSSCoexistence:
|
||||||
break;
|
break;
|
||||||
case _LINK_ID_IE_:
|
case _LINK_ID_IE_:
|
||||||
|
@ -1943,10 +1937,8 @@ int On_TDLS_Setup_Cfm(_adapter *padapter, union recv_frame *precv_frame)
|
||||||
case _TIMEOUT_ITVL_IE_:
|
case _TIMEOUT_ITVL_IE_:
|
||||||
ptimeout_ie = (u8 *)pIE;
|
ptimeout_ie = (u8 *)pIE;
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case _HT_EXTRA_INFO_IE_:
|
case _HT_EXTRA_INFO_IE_:
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case _LINK_ID_IE_:
|
case _LINK_ID_IE_:
|
||||||
plinkid_ie = (u8 *)pIE;
|
plinkid_ie = (u8 *)pIE;
|
||||||
break;
|
break;
|
||||||
|
@ -2536,11 +2528,9 @@ void rtw_build_tdls_setup_req_ies(_adapter *padapter, struct xmit_frame *pxmitfr
|
||||||
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _TRUE, ptdls_sta);
|
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _TRUE, ptdls_sta);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* Sup_reg_classes(optional) */
|
/* Sup_reg_classes(optional) */
|
||||||
if (pregistrypriv->ht_enable == _TRUE)
|
if (pregistrypriv->ht_enable == _TRUE)
|
||||||
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head, pattrib);
|
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head, pattrib);
|
||||||
#endif
|
|
||||||
|
|
||||||
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
||||||
|
|
||||||
|
@ -2620,11 +2610,9 @@ void rtw_build_tdls_setup_rsp_ies(_adapter *padapter, struct xmit_frame *pxmitfr
|
||||||
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _FALSE, ptdls_sta);
|
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _FALSE, ptdls_sta);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* Sup_reg_classes(optional) */
|
/* Sup_reg_classes(optional) */
|
||||||
if (pregistrypriv->ht_enable == _TRUE)
|
if (pregistrypriv->ht_enable == _TRUE)
|
||||||
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head, pattrib);
|
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head, pattrib);
|
||||||
#endif
|
|
||||||
|
|
||||||
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
||||||
|
|
||||||
|
@ -2775,17 +2763,13 @@ void rtw_build_tdls_dis_rsp_ies(_adapter *padapter, struct xmit_frame *pxmitfram
|
||||||
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _TRUE, NULL);
|
pframe = rtw_tdls_set_timeout_interval(ptxmgmt, pframe, pattrib, _TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (pregistrypriv->ht_enable == _TRUE)
|
if (pregistrypriv->ht_enable == _TRUE)
|
||||||
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head - pktlen_index, pattrib);
|
pframe = rtw_tdls_set_ht_cap(padapter, pframe_head - pktlen_index, pattrib);
|
||||||
#endif
|
|
||||||
|
|
||||||
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
pframe = rtw_tdls_set_bss_coexist(padapter, pframe, pattrib);
|
||||||
pframe = rtw_tdls_set_linkid(pframe, pattrib, _FALSE);
|
pframe = rtw_tdls_set_linkid(pframe, pattrib, _FALSE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void rtw_build_tdls_peer_traffic_indication_ies(_adapter *padapter, struct xmit_frame *pxmitframe, u8 *pframe, struct tdls_txmgmt *ptxmgmt)
|
void rtw_build_tdls_peer_traffic_indication_ies(_adapter *padapter, struct xmit_frame *pxmitframe, u8 *pframe, struct tdls_txmgmt *ptxmgmt)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1763,7 +1763,6 @@ void WMMOnAssocRsp(_adapter *padapter)
|
||||||
|
|
||||||
static void bwmode_update_check(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
static void bwmode_update_check(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
unsigned char new_bwmode;
|
unsigned char new_bwmode;
|
||||||
unsigned char new_ch_offset;
|
unsigned char new_ch_offset;
|
||||||
struct HT_info_element *pHT_info;
|
struct HT_info_element *pHT_info;
|
||||||
|
@ -1862,12 +1861,10 @@ static void bwmode_update_check(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pI
|
||||||
|
|
||||||
/* pmlmeinfo->bwmode_updated = _FALSE; */ /* bwmode_updated done, reset it! */
|
/* pmlmeinfo->bwmode_updated = _FALSE; */ /* bwmode_updated done, reset it! */
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HT_caps_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
void HT_caps_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
u8 rf_type = RF_1T1R;
|
u8 rf_type = RF_1T1R;
|
||||||
u8 max_AMPDU_len, min_MPDU_spacing;
|
u8 max_AMPDU_len, min_MPDU_spacing;
|
||||||
|
@ -2026,13 +2023,10 @@ void HT_caps_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
RTW_INFO("Client HT Beamforming Cap = 0x%02X\n", cur_beamform_cap);
|
RTW_INFO("Client HT Beamforming Cap = 0x%02X\n", cur_beamform_cap);
|
||||||
#endif /*CONFIG_BEAMFORMING*/
|
#endif /*CONFIG_BEAMFORMING*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HT_info_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
void HT_info_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
@ -2050,7 +2044,6 @@ void HT_info_handler(_adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
|
|
||||||
pmlmeinfo->HT_info_enable = 1;
|
pmlmeinfo->HT_info_enable = 1;
|
||||||
_rtw_memcpy(&(pmlmeinfo->HT_info), pIE->data, pIE->Length);
|
_rtw_memcpy(&(pmlmeinfo->HT_info), pIE->data, pIE->Length);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2189,8 +2182,6 @@ void VCS_update(_adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
void update_ldpc_stbc_cap(struct sta_info *psta)
|
void update_ldpc_stbc_cap(struct sta_info *psta)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
if (psta->htpriv.ht_option) {
|
if (psta->htpriv.ht_option) {
|
||||||
if (TEST_FLAG(psta->htpriv.ldpc_cap, LDPC_HT_ENABLE_TX))
|
if (TEST_FLAG(psta->htpriv.ldpc_cap, LDPC_HT_ENABLE_TX))
|
||||||
psta->ldpc = 1;
|
psta->ldpc = 1;
|
||||||
|
@ -2201,7 +2192,6 @@ void update_ldpc_stbc_cap(struct sta_info *psta)
|
||||||
psta->ldpc = 0;
|
psta->ldpc = 0;
|
||||||
psta->stbc = 0;
|
psta->stbc = 0;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int check_ielen(u8 *start, uint len)
|
static int check_ielen(u8 *start, uint len)
|
||||||
|
|
|
@ -682,10 +682,8 @@ u8 query_ra_short_GI(struct sta_info *psta, u8 bw)
|
||||||
{
|
{
|
||||||
u8 sgi = _FALSE, sgi_20m = _FALSE, sgi_40m = _FALSE, sgi_80m = _FALSE;
|
u8 sgi = _FALSE, sgi_20m = _FALSE, sgi_40m = _FALSE, sgi_80m = _FALSE;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
sgi_20m = psta->htpriv.sgi_20m;
|
sgi_20m = psta->htpriv.sgi_20m;
|
||||||
sgi_40m = psta->htpriv.sgi_40m;
|
sgi_40m = psta->htpriv.sgi_40m;
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (bw) {
|
switch (bw) {
|
||||||
case CHANNEL_WIDTH_80:
|
case CHANNEL_WIDTH_80:
|
||||||
|
@ -837,7 +835,6 @@ static void update_attrib_phy_info(_adapter *padapter, struct pkt_attrib *pattri
|
||||||
pattrib->ldpc = psta->ldpc;
|
pattrib->ldpc = psta->ldpc;
|
||||||
pattrib->stbc = psta->stbc;
|
pattrib->stbc = psta->stbc;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pattrib->ht_en = psta->htpriv.ht_option;
|
pattrib->ht_en = psta->htpriv.ht_option;
|
||||||
pattrib->ch_offset = psta->htpriv.ch_offset;
|
pattrib->ch_offset = psta->htpriv.ch_offset;
|
||||||
pattrib->ampdu_en = _FALSE;
|
pattrib->ampdu_en = _FALSE;
|
||||||
|
@ -857,7 +854,6 @@ static void update_attrib_phy_info(_adapter *padapter, struct pkt_attrib *pattri
|
||||||
pattrib->amsdu_ampdu_en = _FALSE;
|
pattrib->amsdu_ampdu_en = _FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
/* if(pattrib->ht_en && psta->htpriv.ampdu_enable) */
|
/* if(pattrib->ht_en && psta->htpriv.ampdu_enable) */
|
||||||
/* { */
|
/* { */
|
||||||
/* if(psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) */
|
/* if(psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) */
|
||||||
|
@ -869,12 +865,10 @@ static void update_attrib_phy_info(_adapter *padapter, struct pkt_attrib *pattri
|
||||||
psta = pattrib->ptdls_sta;
|
psta = pattrib->ptdls_sta;
|
||||||
|
|
||||||
pattrib->raid = psta->raid;
|
pattrib->raid = psta->raid;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pattrib->bwmode = rtw_get_tx_bw_mode(padapter, psta);
|
pattrib->bwmode = rtw_get_tx_bw_mode(padapter, psta);
|
||||||
pattrib->ht_en = psta->htpriv.ht_option;
|
pattrib->ht_en = psta->htpriv.ht_option;
|
||||||
pattrib->ch_offset = psta->htpriv.ch_offset;
|
pattrib->ch_offset = psta->htpriv.ch_offset;
|
||||||
pattrib->sgi = query_ra_short_GI(psta, pattrib->bwmode);
|
pattrib->sgi = query_ra_short_GI(psta, pattrib->bwmode);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_TDLS */
|
#endif /* CONFIG_TDLS */
|
||||||
|
|
||||||
|
@ -1689,7 +1683,6 @@ s32 rtw_make_wlanhdr(_adapter *padapter , u8 *hdr, struct pkt_attrib *pattrib)
|
||||||
|
|
||||||
SetSeqNum(hdr, pattrib->seqnum);
|
SetSeqNum(hdr, pattrib->seqnum);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* re-check if enable ampdu by BA_starting_seqctrl */
|
/* re-check if enable ampdu by BA_starting_seqctrl */
|
||||||
if (pattrib->ampdu_en == _TRUE) {
|
if (pattrib->ampdu_en == _TRUE) {
|
||||||
u16 tx_seq;
|
u16 tx_seq;
|
||||||
|
@ -1711,10 +1704,8 @@ s32 rtw_make_wlanhdr(_adapter *padapter , u8 *hdr, struct pkt_attrib *pattrib)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1835,7 +1835,6 @@ void rtw_hal_update_sta_rate_mask(PADAPTER padapter, struct sta_info *psta)
|
||||||
tx_ra_bitmap |= rtw_get_bit_value_from_ieee_value(psta->bssrateset[i] & 0x7f);
|
tx_ra_bitmap |= rtw_get_bit_value_from_ieee_value(psta->bssrateset[i] & 0x7f);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
|
rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
|
||||||
tx_nss = rtw_min(rf_type_to_rf_tx_cnt(rf_type), hal_spec->tx_nss_num);
|
tx_nss = rtw_min(rf_type_to_rf_tx_cnt(rf_type), hal_spec->tx_nss_num);
|
||||||
if (psta->htpriv.ht_option) {
|
if (psta->htpriv.ht_option) {
|
||||||
|
@ -1852,7 +1851,6 @@ void rtw_hal_update_sta_rate_mask(PADAPTER padapter, struct sta_info *psta)
|
||||||
|
|
||||||
tx_ra_bitmap |= (rtw_ht_mcs_set_to_bitmap(psta->htpriv.ht_cap.supp_mcs_set, tx_nss) << 12);
|
tx_ra_bitmap |= (rtw_ht_mcs_set_to_bitmap(psta->htpriv.ht_cap.supp_mcs_set, tx_nss) << 12);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
psta->ra_mask = tx_ra_bitmap;
|
psta->ra_mask = tx_ra_bitmap;
|
||||||
psta->init_rate = get_highest_rate_idx(tx_ra_bitmap) & 0x3f;
|
psta->init_rate = get_highest_rate_idx(tx_ra_bitmap) & 0x3f;
|
||||||
}
|
}
|
||||||
|
|
|
@ -601,14 +601,12 @@ static s32 rtw_dump_xframe(_adapter *padapter, struct xmit_frame *pxmitframe)
|
||||||
struct pkt_attrib *pattrib = &pxmitframe->attrib;
|
struct pkt_attrib *pattrib = &pxmitframe->attrib;
|
||||||
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
|
||||||
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
struct security_priv *psecuritypriv = &padapter->securitypriv;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if ((pxmitframe->frame_tag == DATA_FRAMETAG) &&
|
if ((pxmitframe->frame_tag == DATA_FRAMETAG) &&
|
||||||
(pxmitframe->attrib.ether_type != 0x0806) &&
|
(pxmitframe->attrib.ether_type != 0x0806) &&
|
||||||
(pxmitframe->attrib.ether_type != 0x888e) &&
|
(pxmitframe->attrib.ether_type != 0x888e) &&
|
||||||
(pxmitframe->attrib.ether_type != 0x88b4) &&
|
(pxmitframe->attrib.ether_type != 0x88b4) &&
|
||||||
(pxmitframe->attrib.dhcp_pkt != 1))
|
(pxmitframe->attrib.dhcp_pkt != 1))
|
||||||
rtw_issue_addbareq_cmd(padapter, pxmitframe);
|
rtw_issue_addbareq_cmd(padapter, pxmitframe);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
mem_addr = pxmitframe->buf_addr;
|
mem_addr = pxmitframe->buf_addr;
|
||||||
|
|
||||||
|
|
||||||
|
@ -940,13 +938,11 @@ s32 rtl8188eu_xmitframe_complete(_adapter *padapter, struct xmit_priv *pxmitpriv
|
||||||
|
|
||||||
agg_end:
|
agg_end:
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if ((pfirstframe->attrib.ether_type != 0x0806) &&
|
if ((pfirstframe->attrib.ether_type != 0x0806) &&
|
||||||
(pfirstframe->attrib.ether_type != 0x888e) &&
|
(pfirstframe->attrib.ether_type != 0x888e) &&
|
||||||
(pfirstframe->attrib.ether_type != 0x88b4) &&
|
(pfirstframe->attrib.ether_type != 0x88b4) &&
|
||||||
(pfirstframe->attrib.dhcp_pkt != 1))
|
(pfirstframe->attrib.dhcp_pkt != 1))
|
||||||
rtw_issue_addbareq_cmd(padapter, pfirstframe);
|
rtw_issue_addbareq_cmd(padapter, pfirstframe);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
#ifndef CONFIG_USE_USB_BUFFER_ALLOC_TX
|
#ifndef CONFIG_USE_USB_BUFFER_ALLOC_TX
|
||||||
/* 3 3. update first frame txdesc */
|
/* 3 3. update first frame txdesc */
|
||||||
if ((PACKET_OFFSET_SZ != 0) && ((pbuf_tail % bulkSize) == 0)) {
|
if ((PACKET_OFFSET_SZ != 0) && ((pbuf_tail % bulkSize) == 0)) {
|
||||||
|
|
|
@ -69,7 +69,6 @@
|
||||||
#ifdef CONFIG_XMIT_ACK
|
#ifdef CONFIG_XMIT_ACK
|
||||||
#define CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
#define CONFIG_ACTIVE_KEEP_ALIVE_CHECK
|
||||||
#endif
|
#endif
|
||||||
#define CONFIG_80211N_HT
|
|
||||||
|
|
||||||
#define CONFIG_RECV_REORDERING_CTRL
|
#define CONFIG_RECV_REORDERING_CTRL
|
||||||
|
|
||||||
|
|
|
@ -54,9 +54,7 @@ typedef struct _ADAPTER _adapter, ADAPTER, *PADAPTER;
|
||||||
#include <rtw_debug.h>
|
#include <rtw_debug.h>
|
||||||
#include <rtw_rf.h>
|
#include <rtw_rf.h>
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#include <rtw_ht.h>
|
#include <rtw_ht.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_INTEL_WIDI
|
#ifdef CONFIG_INTEL_WIDI
|
||||||
#include <rtw_intel_widi.h>
|
#include <rtw_intel_widi.h>
|
||||||
|
@ -208,12 +206,8 @@ struct registry_priv {
|
||||||
u8 uapsd_acbe_en;
|
u8 uapsd_acbe_en;
|
||||||
u8 uapsd_acvi_en;
|
u8 uapsd_acvi_en;
|
||||||
u8 uapsd_acvo_en;
|
u8 uapsd_acvo_en;
|
||||||
|
|
||||||
WLAN_BSSID_EX dev_network;
|
WLAN_BSSID_EX dev_network;
|
||||||
|
|
||||||
u8 tx_bw_mode;
|
u8 tx_bw_mode;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
u8 ht_enable;
|
u8 ht_enable;
|
||||||
/* 0: 20 MHz, 1: 40 MHz, 2: 80 MHz, 3: 160MHz */
|
/* 0: 20 MHz, 1: 40 MHz, 2: 80 MHz, 3: 160MHz */
|
||||||
/* 2.4G use bit 0 ~ 3, 5G use bit 4 ~ 7 */
|
/* 2.4G use bit 0 ~ 3, 5G use bit 4 ~ 7 */
|
||||||
|
@ -243,7 +237,6 @@ struct registry_priv {
|
||||||
u8 beamform_cap;
|
u8 beamform_cap;
|
||||||
u8 beamformer_rf_num;
|
u8 beamformer_rf_num;
|
||||||
u8 beamformee_rf_num;
|
u8 beamformee_rf_num;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
u8 lowrate_two_xmit;
|
u8 lowrate_two_xmit;
|
||||||
|
|
||||||
|
|
|
@ -910,11 +910,9 @@ extern char *rtw_initmac;
|
||||||
#ifdef CONFIG_TX_MCAST2UNI
|
#ifdef CONFIG_TX_MCAST2UNI
|
||||||
extern int rtw_mc2u_disable;
|
extern int rtw_mc2u_disable;
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
extern int rtw_ht_enable;
|
extern int rtw_ht_enable;
|
||||||
extern int rtw_bw_mode;
|
extern int rtw_bw_mode;
|
||||||
extern int rtw_ampdu_enable;/* for enable tx_ampdu */
|
extern int rtw_ampdu_enable;/* for enable tx_ampdu */
|
||||||
#endif
|
|
||||||
|
|
||||||
int pm_netdev_open(struct net_device *pnetdev, u8 bnormal);
|
int pm_netdev_open(struct net_device *pnetdev, u8 bnormal);
|
||||||
void netdev_br_init(struct net_device *netdev);
|
void netdev_br_init(struct net_device *netdev);
|
||||||
|
|
|
@ -1669,9 +1669,7 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id , u8
|
||||||
|
|
||||||
void dump_ies(void *sel, u8 *buf, u32 buf_len);
|
void dump_ies(void *sel, u8 *buf, u32 buf_len);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void dump_ht_cap_ie_content(void *sel, u8 *buf, u32 buf_len);
|
void dump_ht_cap_ie_content(void *sel, u8 *buf, u32 buf_len);
|
||||||
#endif
|
|
||||||
|
|
||||||
void dump_wps_ie(void *sel, u8 *ie, u32 ie_len);
|
void dump_wps_ie(void *sel, u8 *ie, u32 ie_len);
|
||||||
|
|
||||||
|
|
|
@ -428,7 +428,6 @@ ssize_t proc_set_rx_signal(struct file *file, const char __user *buffer, size_t
|
||||||
int proc_get_hw_status(struct seq_file *m, void *v);
|
int proc_get_hw_status(struct seq_file *m, void *v);
|
||||||
ssize_t proc_set_hw_status(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
ssize_t proc_set_hw_status(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
int proc_get_ht_enable(struct seq_file *m, void *v);
|
int proc_get_ht_enable(struct seq_file *m, void *v);
|
||||||
ssize_t proc_set_ht_enable(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
ssize_t proc_set_ht_enable(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
||||||
|
|
||||||
|
@ -472,17 +471,10 @@ ssize_t proc_set_tx_amsdu(struct file *file, const char __user *buffer, size_t c
|
||||||
int proc_get_tx_amsdu_rate(struct seq_file *m, void *v);
|
int proc_get_tx_amsdu_rate(struct seq_file *m, void *v);
|
||||||
ssize_t proc_set_tx_amsdu_rate(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
ssize_t proc_set_tx_amsdu_rate(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
||||||
#endif
|
#endif
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
int proc_get_en_fwps(struct seq_file *m, void *v);
|
int proc_get_en_fwps(struct seq_file *m, void *v);
|
||||||
ssize_t proc_set_en_fwps(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
ssize_t proc_set_en_fwps(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
||||||
|
|
||||||
#if 0
|
|
||||||
int proc_get_two_path_rssi(struct seq_file *m, void *v);
|
|
||||||
int proc_get_rssi_disp(struct seq_file *m, void *v);
|
|
||||||
ssize_t proc_set_rssi_disp(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_BT_COEXIST
|
#ifdef CONFIG_BT_COEXIST
|
||||||
int proc_get_btcoex_dbg(struct seq_file *m, void *v);
|
int proc_get_btcoex_dbg(struct seq_file *m, void *v);
|
||||||
ssize_t proc_set_btcoex_dbg(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
ssize_t proc_set_btcoex_dbg(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data);
|
||||||
|
|
|
@ -649,8 +649,6 @@ struct mlme_priv {
|
||||||
|
|
||||||
struct qos_priv qospriv;
|
struct qos_priv qospriv;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
/* Number of non-HT AP/stations */
|
/* Number of non-HT AP/stations */
|
||||||
int num_sta_no_ht;
|
int num_sta_no_ht;
|
||||||
|
|
||||||
|
@ -662,8 +660,6 @@ struct mlme_priv {
|
||||||
|
|
||||||
struct ht_priv htpriv;
|
struct ht_priv htpriv;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_BEAMFORMING
|
#ifdef CONFIG_BEAMFORMING
|
||||||
#ifndef RTW_BEAMFORMING_VERSION_2
|
#ifndef RTW_BEAMFORMING_VERSION_2
|
||||||
#if (BEAMFORMING_SUPPORT == 0)/*for driver beamforming*/
|
#if (BEAMFORMING_SUPPORT == 0)/*for driver beamforming*/
|
||||||
|
@ -724,12 +720,10 @@ struct mlme_priv {
|
||||||
/* Overlapping BSS information */
|
/* Overlapping BSS information */
|
||||||
ATOMIC_T olbc_ht;
|
ATOMIC_T olbc_ht;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
int ht_20mhz_width_req;
|
int ht_20mhz_width_req;
|
||||||
int ht_intolerant_ch_reported;
|
int ht_intolerant_ch_reported;
|
||||||
u16 ht_op_mode;
|
u16 ht_op_mode;
|
||||||
u8 sw_to_20mhz; /*switch to 20Mhz BW*/
|
u8 sw_to_20mhz; /*switch to 20Mhz BW*/
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#ifdef CONFIG_RTW_80211R
|
#ifdef CONFIG_RTW_80211R
|
||||||
u8 *auth_rsp;
|
u8 *auth_rsp;
|
||||||
|
@ -1104,17 +1098,14 @@ u8 *rtw_get_capability_from_ie(u8 *ie);
|
||||||
u8 *rtw_get_timestampe_from_ie(u8 *ie);
|
u8 *rtw_get_timestampe_from_ie(u8 *ie);
|
||||||
u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
|
u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
|
||||||
|
|
||||||
|
|
||||||
void rtw_joinbss_reset(_adapter *padapter);
|
void rtw_joinbss_reset(_adapter *padapter);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
void rtw_ht_use_default_setting(_adapter *padapter);
|
void rtw_ht_use_default_setting(_adapter *padapter);
|
||||||
void rtw_build_wmm_ie_ht(_adapter *padapter, u8 *out_ie, uint *pout_len);
|
void rtw_build_wmm_ie_ht(_adapter *padapter, u8 *out_ie, uint *pout_len);
|
||||||
unsigned int rtw_restructure_ht_ie(_adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel);
|
unsigned int rtw_restructure_ht_ie(_adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel);
|
||||||
void rtw_update_ht_cap(_adapter *padapter, u8 *pie, uint ie_len, u8 channel);
|
void rtw_update_ht_cap(_adapter *padapter, u8 *pie, uint ie_len, u8 channel);
|
||||||
void rtw_issue_addbareq_cmd(_adapter *padapter, struct xmit_frame *pxmitframe);
|
void rtw_issue_addbareq_cmd(_adapter *padapter, struct xmit_frame *pxmitframe);
|
||||||
void rtw_append_exented_cap(_adapter *padapter, u8 *out_ie, uint *pout_len);
|
void rtw_append_exented_cap(_adapter *padapter, u8 *out_ie, uint *pout_len);
|
||||||
#endif
|
|
||||||
|
|
||||||
int rtw_is_same_ibss(_adapter *adapter, struct wlan_network *pnetwork);
|
int rtw_is_same_ibss(_adapter *adapter, struct wlan_network *pnetwork);
|
||||||
int is_same_network(WLAN_BSSID_EX *src, WLAN_BSSID_EX *dst, u8 feature);
|
int is_same_network(WLAN_BSSID_EX *src, WLAN_BSSID_EX *dst, u8 feature);
|
||||||
|
|
|
@ -612,10 +612,7 @@ struct mlme_ext_priv {
|
||||||
struct p2p_channels channel_list;
|
struct p2p_channels channel_list;
|
||||||
unsigned char basicrate[NumRates];
|
unsigned char basicrate[NumRates];
|
||||||
unsigned char datarate[NumRates];
|
unsigned char datarate[NumRates];
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
unsigned char default_supported_mcs_set[16];
|
unsigned char default_supported_mcs_set[16];
|
||||||
#endif
|
|
||||||
|
|
||||||
struct ss_res sitesurvey_res;
|
struct ss_res sitesurvey_res;
|
||||||
struct mlme_ext_info mlmext_info;/* for sta/adhoc mode, including current scanning/connecting/connected related info.
|
struct mlme_ext_info mlmext_info;/* for sta/adhoc mode, including current scanning/connecting/connected related info.
|
||||||
* for ap mode, network includes ap's cap_info */
|
* for ap mode, network includes ap's cap_info */
|
||||||
|
|
|
@ -323,11 +323,7 @@ struct sta_info {
|
||||||
/* for A-MPDU Tx */
|
/* for A-MPDU Tx */
|
||||||
/* unsigned char ampdu_txen_bitmap; */
|
/* unsigned char ampdu_txen_bitmap; */
|
||||||
u16 BA_starting_seqctrl[16];
|
u16 BA_starting_seqctrl[16];
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv htpriv;
|
struct ht_priv htpriv;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Notes: */
|
/* Notes: */
|
||||||
/* STA_Mode: */
|
/* STA_Mode: */
|
||||||
|
|
|
@ -756,8 +756,6 @@ typedef enum _ELEMENT_ID {
|
||||||
Below is the definition for 802.11n
|
Below is the definition for 802.11n
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
/* #ifdef CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#define set_order_bit(pbuf) \
|
#define set_order_bit(pbuf) \
|
||||||
do { \
|
do { \
|
||||||
*(__le16 *)(pbuf) |= cpu_to_le16(_ORDER_); \
|
*(__le16 *)(pbuf) |= cpu_to_le16(_ORDER_); \
|
||||||
|
|
|
@ -33,10 +33,7 @@
|
||||||
#define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e)
|
#define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
extern int rtw_ht_enable;
|
extern int rtw_ht_enable;
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define RTL_IOCTL_WPA_SUPPLICANT (SIOCIWFIRSTPRIV+30)
|
#define RTL_IOCTL_WPA_SUPPLICANT (SIOCIWFIRSTPRIV+30)
|
||||||
|
|
||||||
|
@ -6316,9 +6313,7 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
break;
|
break;
|
||||||
case 0x03:
|
case 0x03:
|
||||||
RTW_INFO("qos_option=%d\n", pmlmepriv->qospriv.qos_option);
|
RTW_INFO("qos_option=%d\n", pmlmepriv->qospriv.qos_option);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_INFO("ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
RTW_INFO("ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
break;
|
break;
|
||||||
case 0x04:
|
case 0x04:
|
||||||
RTW_INFO("cur_ch=%d\n", pmlmeext->cur_channel);
|
RTW_INFO("cur_ch=%d\n", pmlmeext->cur_channel);
|
||||||
|
@ -6338,12 +6333,10 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
RTW_INFO("cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
RTW_INFO("cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
||||||
RTW_INFO("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
RTW_INFO("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
RTW_INFO("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
RTW_INFO("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_INFO("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
RTW_INFO("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
RTW_INFO("bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
RTW_INFO("bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m, psta->htpriv.sgi_40m);
|
||||||
RTW_INFO("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
RTW_INFO("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
RTW_INFO("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
RTW_INFO("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
sta_rx_reorder_ctl_dump(RTW_DBGDUMP, psta);
|
sta_rx_reorder_ctl_dump(RTW_DBGDUMP, psta);
|
||||||
} else
|
} else
|
||||||
|
@ -6392,13 +6385,11 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
RTW_INFO("sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
RTW_INFO("sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
||||||
RTW_INFO("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
RTW_INFO("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
RTW_INFO("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
RTW_INFO("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_INFO("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
RTW_INFO("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
RTW_INFO("bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m,
|
RTW_INFO("bwmode=%d, ch_offset=%d, sgi_20m=%d,sgi_40m=%d\n", psta->bw_mode, psta->htpriv.ch_offset, psta->htpriv.sgi_20m,
|
||||||
psta->htpriv.sgi_40m);
|
psta->htpriv.sgi_40m);
|
||||||
RTW_INFO("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
RTW_INFO("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
RTW_INFO("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
RTW_INFO("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#ifdef CONFIG_AP_MODE
|
#ifdef CONFIG_AP_MODE
|
||||||
RTW_INFO("capability=0x%x\n", psta->capability);
|
RTW_INFO("capability=0x%x\n", psta->capability);
|
||||||
|
@ -6505,7 +6496,6 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case 0x12: { /* set rx_stbc */
|
case 0x12: { /* set rx_stbc */
|
||||||
struct registry_priv *pregpriv = &padapter->registrypriv;
|
struct registry_priv *pregpriv = &padapter->registrypriv;
|
||||||
/* 0: disable, bit(0):enable 2.4g, bit(1):enable 5g, 0x3: enable both 2.4g and 5g */
|
/* 0: disable, bit(0):enable 2.4g, bit(1):enable 5g, 0x3: enable both 2.4g and 5g */
|
||||||
|
@ -6529,7 +6519,6 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case 0x14: { /* get wifi_spec */
|
case 0x14: { /* get wifi_spec */
|
||||||
struct registry_priv *pregpriv = &padapter->registrypriv;
|
struct registry_priv *pregpriv = &padapter->registrypriv;
|
||||||
RTW_INFO("get wifi_spec=%d\n", pregpriv->wifi_spec);
|
RTW_INFO("get wifi_spec=%d\n", pregpriv->wifi_spec);
|
||||||
|
@ -6546,7 +6535,6 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
case 0x19: {
|
case 0x19: {
|
||||||
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
||||||
/* extra_arg : */
|
/* extra_arg : */
|
||||||
|
@ -6575,16 +6563,13 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
case 0x1b: {
|
case 0x1b: {
|
||||||
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
struct registry_priv *pregistrypriv = &padapter->registrypriv;
|
||||||
|
|
||||||
if (arg == 0) {
|
if (arg == 0) {
|
||||||
RTW_INFO("disable driver ctrl max_rx_rate, reset to default_rate_set\n");
|
RTW_INFO("disable driver ctrl max_rx_rate, reset to default_rate_set\n");
|
||||||
init_mlme_default_rate_set(padapter);
|
init_mlme_default_rate_set(padapter);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pregistrypriv->ht_enable = (u8)rtw_ht_enable;
|
pregistrypriv->ht_enable = (u8)rtw_ht_enable;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
} else if (arg == 1) {
|
} else if (arg == 1) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
@ -6595,17 +6580,13 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
max_rx_rate = (u8)extra_arg;
|
max_rx_rate = (u8)extra_arg;
|
||||||
|
|
||||||
if (max_rx_rate < 0xc) { /* max_rx_rate < MSC0->B or G -> disable HT */
|
if (max_rx_rate < 0xc) { /* max_rx_rate < MSC0->B or G -> disable HT */
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pregistrypriv->ht_enable = 0;
|
pregistrypriv->ht_enable = 0;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
for (i = 0; i < NumRates; i++) {
|
for (i = 0; i < NumRates; i++) {
|
||||||
if (pmlmeext->datarate[i] > max_rx_rate)
|
if (pmlmeext->datarate[i] > max_rx_rate)
|
||||||
pmlmeext->datarate[i] = 0xff;
|
pmlmeext->datarate[i] = 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} else if (max_rx_rate < 0x1c) { /* mcs0~mcs15 */
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
else if (max_rx_rate < 0x1c) { /* mcs0~mcs15 */
|
|
||||||
u32 mcs_bitmap = 0x0;
|
u32 mcs_bitmap = 0x0;
|
||||||
|
|
||||||
for (i = 0; i < ((max_rx_rate + 1) - 0xc); i++)
|
for (i = 0; i < ((max_rx_rate + 1) - 0xc); i++)
|
||||||
|
@ -6613,7 +6594,6 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
|
|
||||||
set_mcs_rate_by_mask(pmlmeext->default_supported_mcs_set, mcs_bitmap);
|
set_mcs_rate_by_mask(pmlmeext->default_supported_mcs_set, mcs_bitmap);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -7422,8 +7402,6 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
|
||||||
if (pmlmepriv->qospriv.qos_option == 0)
|
if (pmlmepriv->qospriv.qos_option == 0)
|
||||||
psta->qos_option = 0;
|
psta->qos_option = 0;
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* chec 802.11n ht cap. */
|
/* chec 802.11n ht cap. */
|
||||||
if (WLAN_STA_HT & flags) {
|
if (WLAN_STA_HT & flags) {
|
||||||
psta->htpriv.ht_option = _TRUE;
|
psta->htpriv.ht_option = _TRUE;
|
||||||
|
@ -7434,8 +7412,6 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
|
||||||
|
|
||||||
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
if (pmlmepriv->htpriv.ht_option == _FALSE)
|
||||||
psta->htpriv.ht_option = _FALSE;
|
psta->htpriv.ht_option = _FALSE;
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
update_sta_info_apmode(padapter, psta);
|
update_sta_info_apmode(padapter, psta);
|
||||||
|
|
||||||
|
@ -7557,9 +7533,7 @@ static int rtw_ioctl_get_sta_data(struct net_device *dev, struct ieee_param *par
|
||||||
|
|
||||||
psta_data->tx_supp_rates_len = psta->bssratelen;
|
psta_data->tx_supp_rates_len = psta->bssratelen;
|
||||||
_rtw_memcpy(psta_data->tx_supp_rates, psta->bssrateset, psta->bssratelen);
|
_rtw_memcpy(psta_data->tx_supp_rates, psta->bssrateset, psta->bssratelen);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
_rtw_memcpy(&psta_data->ht_cap, &psta->htpriv.ht_cap, sizeof(struct rtw_ieee80211_ht_cap));
|
_rtw_memcpy(&psta_data->ht_cap, &psta->htpriv.ht_cap, sizeof(struct rtw_ieee80211_ht_cap));
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
psta_data->rx_pkts = psta->sta_stats.rx_data_pkts;
|
psta_data->rx_pkts = psta->sta_stats.rx_data_pkts;
|
||||||
psta_data->rx_bytes = psta->sta_stats.rx_bytes;
|
psta_data->rx_bytes = psta->sta_stats.rx_bytes;
|
||||||
psta_data->rx_drops = psta->sta_stats.rx_drops;
|
psta_data->rx_drops = psta->sta_stats.rx_drops;
|
||||||
|
@ -7567,8 +7541,6 @@ static int rtw_ioctl_get_sta_data(struct net_device *dev, struct ieee_param *par
|
||||||
psta_data->tx_pkts = psta->sta_stats.tx_pkts;
|
psta_data->tx_pkts = psta->sta_stats.tx_pkts;
|
||||||
psta_data->tx_bytes = psta->sta_stats.tx_bytes;
|
psta_data->tx_bytes = psta->sta_stats.tx_bytes;
|
||||||
psta_data->tx_drops = psta->sta_stats.tx_drops;
|
psta_data->tx_drops = psta->sta_stats.tx_drops;
|
||||||
|
|
||||||
|
|
||||||
} else
|
} else
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
|
|
|
@ -1460,9 +1460,7 @@ int rtw_mp_pretx_proc(PADAPTER padapter, u8 bStartTest, char *extra)
|
||||||
pmp_priv->tx.stop = 1;
|
pmp_priv->tx.stop = 1;
|
||||||
rtw_msleep_os(5);
|
rtw_msleep_os(5);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmp_priv->tx.attrib.ht_en = 1;
|
pmp_priv->tx.attrib.ht_en = 1;
|
||||||
#endif
|
|
||||||
pmp_priv->tx.stop = 0;
|
pmp_priv->tx.stop = 0;
|
||||||
pmp_priv->tx.count = 1;
|
pmp_priv->tx.count = 1;
|
||||||
SetPacketTx(padapter);
|
SetPacketTx(padapter);
|
||||||
|
|
|
@ -114,7 +114,6 @@ static uint rtw_tx_bw_mode = 0x21;
|
||||||
module_param(rtw_tx_bw_mode, uint, 0644);
|
module_param(rtw_tx_bw_mode, uint, 0644);
|
||||||
MODULE_PARM_DESC(rtw_tx_bw_mode, "The max tx bw for 2.4G and 5G. format is the same as rtw_bw_mode");
|
MODULE_PARM_DESC(rtw_tx_bw_mode, "The max tx bw for 2.4G and 5G. format is the same as rtw_bw_mode");
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
int rtw_ht_enable = 1;
|
int rtw_ht_enable = 1;
|
||||||
/* 0: 20 MHz, 1: 40 MHz, 2: 80 MHz, 3: 160MHz, 4: 80+80MHz
|
/* 0: 20 MHz, 1: 40 MHz, 2: 80 MHz, 3: 160MHz, 4: 80+80MHz
|
||||||
* 2.4G use bit 0 ~ 3, 5G use bit 4 ~ 7
|
* 2.4G use bit 0 ~ 3, 5G use bit 4 ~ 7
|
||||||
|
@ -145,8 +144,6 @@ static int rtw_beamform_cap = BIT(1) | BIT(3);
|
||||||
static int rtw_bfer_rf_number = 0; /*BeamformerCapRfNum Rf path number, 0 for auto, others for manual*/
|
static int rtw_bfer_rf_number = 0; /*BeamformerCapRfNum Rf path number, 0 for auto, others for manual*/
|
||||||
static int rtw_bfee_rf_number = 0; /*BeamformeeCapRfNum Rf path number, 0 for auto, others for manual*/
|
static int rtw_bfee_rf_number = 0; /*BeamformeeCapRfNum Rf path number, 0 for auto, others for manual*/
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
static int rtw_lowrate_two_xmit = 1;/* Use 2 path Tx to transmit MCS0~7 and legacy mode */
|
static int rtw_lowrate_two_xmit = 1;/* Use 2 path Tx to transmit MCS0~7 and legacy mode */
|
||||||
|
|
||||||
static int rtw_rf_config = RF_TYPE_AUTO;
|
static int rtw_rf_config = RF_TYPE_AUTO;
|
||||||
|
@ -303,13 +300,11 @@ module_param(rtw_vrtl_carrier_sense, int, 0644);
|
||||||
module_param(rtw_vcs_type, int, 0644);
|
module_param(rtw_vcs_type, int, 0644);
|
||||||
module_param(rtw_busy_thresh, int, 0644);
|
module_param(rtw_busy_thresh, int, 0644);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
module_param(rtw_ht_enable, int, 0644);
|
module_param(rtw_ht_enable, int, 0644);
|
||||||
module_param(rtw_bw_mode, int, 0644);
|
module_param(rtw_bw_mode, int, 0644);
|
||||||
module_param(rtw_ampdu_enable, int, 0644);
|
module_param(rtw_ampdu_enable, int, 0644);
|
||||||
module_param(rtw_rx_stbc, int, 0644);
|
module_param(rtw_rx_stbc, int, 0644);
|
||||||
module_param(rtw_ampdu_amsdu, int, 0644);
|
module_param(rtw_ampdu_amsdu, int, 0644);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
#ifdef CONFIG_BEAMFORMING
|
#ifdef CONFIG_BEAMFORMING
|
||||||
module_param(rtw_beamform_cap, int, 0644);
|
module_param(rtw_beamform_cap, int, 0644);
|
||||||
|
@ -731,7 +726,6 @@ uint loadparam(_adapter *padapter)
|
||||||
|
|
||||||
registry_par->tx_bw_mode = (u8)rtw_tx_bw_mode;
|
registry_par->tx_bw_mode = (u8)rtw_tx_bw_mode;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
registry_par->ht_enable = (u8)rtw_ht_enable;
|
registry_par->ht_enable = (u8)rtw_ht_enable;
|
||||||
registry_par->bw_mode = (u8)rtw_bw_mode;
|
registry_par->bw_mode = (u8)rtw_bw_mode;
|
||||||
registry_par->ampdu_enable = (u8)rtw_ampdu_enable;
|
registry_par->ampdu_enable = (u8)rtw_ampdu_enable;
|
||||||
|
@ -743,7 +737,6 @@ uint loadparam(_adapter *padapter)
|
||||||
registry_par->beamform_cap = (u8)rtw_beamform_cap;
|
registry_par->beamform_cap = (u8)rtw_beamform_cap;
|
||||||
registry_par->beamformer_rf_num = (u8)rtw_bfer_rf_number;
|
registry_par->beamformer_rf_num = (u8)rtw_bfer_rf_number;
|
||||||
registry_par->beamformee_rf_num = (u8)rtw_bfee_rf_number;
|
registry_par->beamformee_rf_num = (u8)rtw_bfee_rf_number;
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_TX_EARLY_MODE
|
#ifdef CONFIG_TX_EARLY_MODE
|
||||||
registry_par->early_mode = (u8)rtw_early_mode;
|
registry_par->early_mode = (u8)rtw_early_mode;
|
||||||
|
|
|
@ -2390,7 +2390,6 @@ static const struct rtw_proc_hdl adapter_proc_hdls[] = {
|
||||||
RTW_PROC_HDL_SSEQ("rx_signal", proc_get_rx_signal, proc_set_rx_signal),
|
RTW_PROC_HDL_SSEQ("rx_signal", proc_get_rx_signal, proc_set_rx_signal),
|
||||||
RTW_PROC_HDL_SSEQ("hw_info", proc_get_hw_status, proc_set_hw_status),
|
RTW_PROC_HDL_SSEQ("hw_info", proc_get_hw_status, proc_set_hw_status),
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
RTW_PROC_HDL_SSEQ("ht_enable", proc_get_ht_enable, proc_set_ht_enable),
|
RTW_PROC_HDL_SSEQ("ht_enable", proc_get_ht_enable, proc_set_ht_enable),
|
||||||
RTW_PROC_HDL_SSEQ("bw_mode", proc_get_bw_mode, proc_set_bw_mode),
|
RTW_PROC_HDL_SSEQ("bw_mode", proc_get_bw_mode, proc_set_bw_mode),
|
||||||
RTW_PROC_HDL_SSEQ("ampdu_enable", proc_get_ampdu_enable, proc_set_ampdu_enable),
|
RTW_PROC_HDL_SSEQ("ampdu_enable", proc_get_ampdu_enable, proc_set_ampdu_enable),
|
||||||
|
@ -2402,7 +2401,6 @@ static const struct rtw_proc_hdl adapter_proc_hdls[] = {
|
||||||
RTW_PROC_HDL_SSEQ("tx_amsdu", proc_get_tx_amsdu, proc_set_tx_amsdu),
|
RTW_PROC_HDL_SSEQ("tx_amsdu", proc_get_tx_amsdu, proc_set_tx_amsdu),
|
||||||
RTW_PROC_HDL_SSEQ("tx_amsdu_rate", proc_get_tx_amsdu_rate, proc_set_tx_amsdu_rate),
|
RTW_PROC_HDL_SSEQ("tx_amsdu_rate", proc_get_tx_amsdu_rate, proc_set_tx_amsdu_rate),
|
||||||
#endif
|
#endif
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
RTW_PROC_HDL_SSEQ("en_fwps", proc_get_en_fwps, proc_set_en_fwps),
|
RTW_PROC_HDL_SSEQ("en_fwps", proc_get_en_fwps, proc_set_en_fwps),
|
||||||
RTW_PROC_HDL_SSEQ("mac_rptbuf", proc_get_mac_rptbuf, NULL),
|
RTW_PROC_HDL_SSEQ("mac_rptbuf", proc_get_mac_rptbuf, NULL),
|
||||||
|
|
|
@ -515,14 +515,11 @@ static void process_spec_devid(const struct usb_device_id *pdid)
|
||||||
pid = specific_device_id_tbl[i].idProduct;
|
pid = specific_device_id_tbl[i].idProduct;
|
||||||
flags = specific_device_id_tbl[i].flags;
|
flags = specific_device_id_tbl[i].flags;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if ((pdid->idVendor == vid) && (pdid->idProduct == pid) && (flags & SPEC_DEV_ID_DISABLE_HT)) {
|
if ((pdid->idVendor == vid) && (pdid->idProduct == pid) && (flags & SPEC_DEV_ID_DISABLE_HT)) {
|
||||||
rtw_ht_enable = 0;
|
rtw_ht_enable = 0;
|
||||||
rtw_bw_mode = 0;
|
rtw_bw_mode = 0;
|
||||||
rtw_ampdu_enable = 0;
|
rtw_ampdu_enable = 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef RTK_DMP_PLATFORM
|
#ifdef RTK_DMP_PLATFORM
|
||||||
/* Change the ifname to wlan10 when PC side WFD dongle plugin on DMP platform. */
|
/* Change the ifname to wlan10 when PC side WFD dongle plugin on DMP platform. */
|
||||||
/* It is used to distinguish between normal and PC-side wifi dongle/module. */
|
/* It is used to distinguish between normal and PC-side wifi dongle/module. */
|
||||||
|
|
Loading…
Reference in a new issue