mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2024-11-29 23:43:40 +00:00
rtl8188eu: Remove CONFIG_80211N_HT
This one is always selected. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
37a28f802f
commit
2b27b83d40
21 changed files with 100 additions and 379 deletions
|
@ -548,12 +548,10 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
|
||||||
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;
|
||||||
|
@ -564,7 +562,6 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
|
||||||
if (psta->bssrateset[i])
|
if (psta->bssrateset[i])
|
||||||
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
|
|
||||||
/* n mode ra_bitmap */
|
/* n mode ra_bitmap */
|
||||||
if(psta_ht->ht_option)
|
if(psta_ht->ht_option)
|
||||||
{
|
{
|
||||||
|
@ -582,7 +579,6 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
|
||||||
/* max short GI rate */
|
/* max short GI rate */
|
||||||
shortGIrate = psta_ht->sgi;
|
shortGIrate = psta_ht->sgi;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
if ( pcur_network->Configuration.DSConfig > 14 ) {
|
if ( pcur_network->Configuration.DSConfig > 14 ) {
|
||||||
/* 5G band */
|
/* 5G band */
|
||||||
|
@ -664,9 +660,7 @@ void update_bmc_sta(struct adapter *padapter)
|
||||||
psta->mac_id = psta->aid + 1;
|
psta->mac_id = psta->aid + 1;
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
@ -759,10 +753,8 @@ void update_sta_info_apmode(struct 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 */
|
|
||||||
/* set intf_tag to if1 */
|
/* set intf_tag to if1 */
|
||||||
/* psta->intf_tag = 0; */
|
/* psta->intf_tag = 0; */
|
||||||
|
|
||||||
|
@ -783,7 +775,6 @@ void update_sta_info_apmode(struct 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)
|
||||||
{
|
{
|
||||||
|
@ -824,7 +815,6 @@ void update_sta_info_apmode(struct 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 */
|
|
||||||
|
|
||||||
/* todo: init other variables */
|
/* todo: init other variables */
|
||||||
|
|
||||||
|
@ -913,7 +903,6 @@ static void start_bss_network(struct adapter *padapter, u8 *pbuf)
|
||||||
/* 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;
|
||||||
|
@ -923,8 +912,6 @@ static void start_bss_network(struct adapter *padapter, u8 *pbuf)
|
||||||
|
|
||||||
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 */
|
||||||
{
|
{
|
||||||
|
@ -965,7 +952,6 @@ static void start_bss_network(struct adapter *padapter, u8 *pbuf)
|
||||||
/* turn on all dynamic functions */
|
/* turn on all dynamic functions */
|
||||||
Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true);
|
Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* set channel, bwmode */
|
/* set channel, bwmode */
|
||||||
p = rtw_get_ie((pnetwork->IEs + sizeof(NDIS_802_11_FIXED_IEs)), _HT_ADD_INFO_IE_, &ie_len, (pnetwork->IELength - sizeof(NDIS_802_11_FIXED_IEs)));
|
p = rtw_get_ie((pnetwork->IEs + sizeof(NDIS_802_11_FIXED_IEs)), _HT_ADD_INFO_IE_, &ie_len, (pnetwork->IELength - sizeof(NDIS_802_11_FIXED_IEs)));
|
||||||
if( p && ie_len)
|
if( p && ie_len)
|
||||||
|
@ -998,7 +984,6 @@ static void start_bss_network(struct adapter *padapter, u8 *pbuf)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
/* TODO: need to judge the phy parameters on concurrent mode for single phy */
|
/* TODO: need to judge the phy parameters on concurrent mode for single phy */
|
||||||
/* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */
|
/* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */
|
||||||
set_channel_bwmode(padapter, cur_channel, cur_ch_offset, cur_bwmode);
|
set_channel_bwmode(padapter, cur_channel, cur_ch_offset, cur_bwmode);
|
||||||
|
@ -1245,7 +1230,6 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#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)
|
||||||
|
@ -1291,7 +1275,6 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
|
||||||
{
|
{
|
||||||
pHT_info_ie=p;
|
pHT_info_ie=p;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
switch(network_type)
|
switch(network_type)
|
||||||
{
|
{
|
||||||
case WIRELESS_11B:
|
case WIRELESS_11B:
|
||||||
|
@ -1313,7 +1296,6 @@ int rtw_check_beacon_data(struct 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) ||
|
||||||
|
@ -1338,9 +1320,6 @@ int rtw_check_beacon_data(struct 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
|
|
||||||
|
|
||||||
|
|
||||||
pbss_network->Length = get_WLAN_BSSID_EX_sz((WLAN_BSSID_EX *)pbss_network);
|
pbss_network->Length = get_WLAN_BSSID_EX_sz((WLAN_BSSID_EX *)pbss_network);
|
||||||
|
|
||||||
/* issue beacon to start bss network */
|
/* issue beacon to start bss network */
|
||||||
|
@ -1733,8 +1712,6 @@ void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx)
|
||||||
set_tx_beacon_cmd(padapter);
|
set_tx_beacon_cmd(padapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
op_mode
|
op_mode
|
||||||
Set to 0 (HT pure) under the followign conditions
|
Set to 0 (HT pure) under the followign conditions
|
||||||
|
@ -1818,8 +1795,6 @@ static int rtw_ht_operation_update(struct adapter *padapter)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
void associated_clients_update(struct adapter *padapter, u8 updated)
|
void associated_clients_update(struct adapter *padapter, u8 updated)
|
||||||
{
|
{
|
||||||
/* update associcated stations cap. */
|
/* update associcated stations cap. */
|
||||||
|
@ -1944,8 +1919,6 @@ void bss_cap_update_on_sta_join(struct 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);
|
||||||
|
@ -2001,8 +1974,6 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
|
||||||
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, true);
|
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
/* update associcated stations cap. */
|
/* update associcated stations cap. */
|
||||||
associated_clients_update(padapter, beacon_updated);
|
associated_clients_update(padapter, beacon_updated);
|
||||||
|
|
||||||
|
@ -2051,8 +2022,6 @@ u8 bss_cap_update_on_sta_leave(struct 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--;
|
||||||
|
@ -2074,8 +2043,6 @@ u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
|
||||||
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, true);
|
update_beacon(padapter, _HT_ADD_INFO_IE_, NULL, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
DBG_871X("%s, updated=%d\n", __func__, beacon_updated);
|
DBG_871X("%s, updated=%d\n", __func__, beacon_updated);
|
||||||
|
|
||||||
return beacon_updated;
|
return beacon_updated;
|
||||||
|
@ -2095,18 +2062,14 @@ u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active, u16
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
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 */
|
||||||
|
|
||||||
|
@ -2256,8 +2219,6 @@ void sta_info_update(struct 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)
|
||||||
{
|
{
|
||||||
|
@ -2271,12 +2232,8 @@ void sta_info_update(struct 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);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* called >= TSR LEVEL for USB or SDIO Interface*/
|
/* called >= TSR LEVEL for USB or SDIO Interface*/
|
||||||
|
@ -2376,18 +2333,14 @@ void start_ap_mode(struct 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 */
|
|
||||||
pmlmepriv->num_sta_ht_20mhz = 0;
|
pmlmepriv->num_sta_ht_20mhz = 0;
|
||||||
|
|
||||||
pmlmepriv->olbc = false;
|
pmlmepriv->olbc = false;
|
||||||
|
|
||||||
pmlmepriv->olbc_ht = false;
|
pmlmepriv->olbc_ht = false;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmepriv->ht_op_mode = 0;
|
pmlmepriv->ht_op_mode = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
for(i=0; i<NUM_STA; i++)
|
for(i=0; i<NUM_STA; i++)
|
||||||
pstapriv->sta_aid[i] = NULL;
|
pstapriv->sta_aid[i] = NULL;
|
||||||
|
|
|
@ -1144,9 +1144,7 @@ u8 rtw_joinbss_cmd(struct 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);
|
||||||
|
@ -1251,7 +1249,6 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network* pnetwork)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
phtpriv->ht_option = false;
|
phtpriv->ht_option = false;
|
||||||
if(pregistrypriv->ht_enable)
|
if(pregistrypriv->ht_enable)
|
||||||
{
|
{
|
||||||
|
@ -1267,9 +1264,6 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network* pnetwork)
|
||||||
pnetwork->network.IELength, &psecnetwork->IELength);
|
pnetwork->network.IELength, &psecnetwork->IELength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pnetwork->network.IEs, pnetwork->network.IELength);
|
pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pnetwork->network.IEs, pnetwork->network.IELength);
|
||||||
|
|
||||||
if (pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_TENDA)
|
if (pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_TENDA)
|
||||||
|
|
|
@ -289,9 +289,7 @@ int proc_get_ht_option(char *page, char **start,
|
||||||
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
len += snprintf(page + len, count - len, "ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
len += snprintf(page + len, count - len, "ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
*eof = 1;
|
*eof = 1;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
@ -338,12 +336,10 @@ int proc_get_ap_info(char *page, char **start,
|
||||||
len += snprintf(page + len, count - len, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
len += snprintf(page + len, count - len, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
||||||
len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
||||||
len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
for(i=0;i<16;i++)
|
for(i=0;i<16;i++)
|
||||||
{
|
{
|
||||||
|
@ -711,7 +707,6 @@ int proc_set_rx_signal(struct file *file, const char __user *buffer,
|
||||||
return count;
|
return count;
|
||||||
|
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
int proc_get_ht_enable(char *page, char **start,
|
int proc_get_ht_enable(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
|
@ -856,7 +851,6 @@ int proc_set_ampdu_enable(struct file *file, const char __user *buffer,
|
||||||
return count;
|
return count;
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
int proc_get_two_path_rssi(char *page, char **start,
|
int proc_get_two_path_rssi(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
|
@ -877,7 +871,7 @@ int proc_get_two_path_rssi(char *page, char **start,
|
||||||
*eof = 1;
|
*eof = 1;
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
int proc_get_rx_stbc(char *page, char **start,
|
int proc_get_rx_stbc(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
int *eof, void *data)
|
int *eof, void *data)
|
||||||
|
@ -924,8 +918,6 @@ int proc_set_rx_stbc(struct file *file, const char __user *buffer,
|
||||||
return count;
|
return count;
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
|
|
||||||
int proc_get_rssi_disp(char *page, char **start,
|
int proc_get_rssi_disp(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
|
@ -1013,12 +1005,10 @@ int proc_get_all_sta_info(char *page, char **start,
|
||||||
len += snprintf(page + len, count - len, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
len += snprintf(page + len, count - len, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
||||||
len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
||||||
len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
len += snprintf(page + len, count - len, "sleepq_len=%d\n", psta->sleepq_len);
|
len += snprintf(page + len, count - len, "sleepq_len=%d\n", psta->sleepq_len);
|
||||||
len += snprintf(page + len, count - len, "capability=0x%x\n", psta->capability);
|
len += snprintf(page + len, count - len, "capability=0x%x\n", psta->capability);
|
||||||
len += snprintf(page + len, count - len, "flags=0x%x\n", psta->flags);
|
len += snprintf(page + len, count - len, "flags=0x%x\n", psta->flags);
|
||||||
|
|
|
@ -478,14 +478,12 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv)
|
||||||
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 _SUCCESS; */
|
/* return _SUCCESS; */
|
||||||
return sz;
|
return sz;
|
||||||
|
|
|
@ -1223,19 +1223,16 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
|
||||||
struct registry_priv *pregistrypriv = &adapter->registrypriv;
|
struct registry_priv *pregistrypriv = &adapter->registrypriv;
|
||||||
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
||||||
WLAN_BSSID_EX *pcur_bss = &pmlmepriv->cur_network.network;
|
WLAN_BSSID_EX *pcur_bss = &pmlmepriv->cur_network.network;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct rtw_ieee80211_ht_cap *pht_capie;
|
struct rtw_ieee80211_ht_cap *pht_capie;
|
||||||
u8 rf_type = 0;
|
u8 rf_type = 0;
|
||||||
u8 bw_40MHz=0, short_GI_20=0, short_GI_40=0;
|
u8 bw_40MHz=0, short_GI_20=0, short_GI_40=0;
|
||||||
u16 mcs_rate=0;
|
u16 mcs_rate=0;
|
||||||
u32 ht_ielen = 0;
|
u32 ht_ielen = 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
if((check_fwstate(pmlmepriv, _FW_LINKED) != true)
|
if((check_fwstate(pmlmepriv, _FW_LINKED) != true)
|
||||||
&& (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) != true))
|
&& (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) != true))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
if (pmlmeext->cur_wireless_mode & (WIRELESS_11_24N|WIRELESS_11_5N)) {
|
if (pmlmeext->cur_wireless_mode & (WIRELESS_11_24N|WIRELESS_11_5N)) {
|
||||||
p = rtw_get_ie(&pcur_bss->IEs[12], _HT_CAPABILITY_IE_, &ht_ielen, pcur_bss->IELength-12);
|
p = rtw_get_ie(&pcur_bss->IEs[12], _HT_CAPABILITY_IE_, &ht_ielen, pcur_bss->IELength-12);
|
||||||
if(p && ht_ielen>0)
|
if(p && ht_ielen>0)
|
||||||
|
@ -1263,7 +1260,6 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1693,15 +1693,9 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net
|
||||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Invalid network_mode\n"));
|
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Invalid network_mode\n"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
rtw_update_ht_cap(padapter, cur_network->network.IEs, cur_network->network.IELength);
|
||||||
#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) */
|
||||||
|
@ -3005,18 +2999,10 @@ void rtw_joinbss_reset(struct adapter *padapter)
|
||||||
{
|
{
|
||||||
u8 threshold;
|
u8 threshold;
|
||||||
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 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
|
|
||||||
|
|
||||||
pmlmepriv->num_FortyMHzIntolerant = 0;
|
pmlmepriv->num_FortyMHzIntolerant = 0;
|
||||||
|
|
||||||
pmlmepriv->num_sta_no_ht = 0;
|
pmlmepriv->num_sta_no_ht = 0;
|
||||||
|
@ -3038,12 +3024,8 @@ void rtw_joinbss_reset(struct 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
|
|
||||||
|
|
||||||
/* the fucntion is >= passive_level */
|
/* the fucntion is >= passive_level */
|
||||||
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len)
|
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len)
|
||||||
{
|
{
|
||||||
|
@ -3303,8 +3285,6 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_LAYER2_ROAMING
|
#ifdef CONFIG_LAYER2_ROAMING
|
||||||
inline void rtw_set_roaming(struct adapter *adapter, u8 to_roaming)
|
inline void rtw_set_roaming(struct adapter *adapter, u8 to_roaming)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1748,8 +1748,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* save HT capabilities in the sta object */
|
/* save HT capabilities in the sta object */
|
||||||
memset(&pstat->htpriv.ht_cap, 0, sizeof(struct rtw_ieee80211_ht_cap));
|
memset(&pstat->htpriv.ht_cap, 0, sizeof(struct rtw_ieee80211_ht_cap));
|
||||||
if (elems.ht_capabilities && elems.ht_capabilities_len >= sizeof(struct rtw_ieee80211_ht_cap))
|
if (elems.ht_capabilities && elems.ht_capabilities_len >= sizeof(struct rtw_ieee80211_ht_cap))
|
||||||
|
@ -1781,7 +1779,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
|
||||||
/* status = WLAN_STATUS_CIPHER_REJECTED_PER_POLICY; */
|
/* status = WLAN_STATUS_CIPHER_REJECTED_PER_POLICY; */
|
||||||
/* goto OnAssocReqFail; */
|
/* goto OnAssocReqFail; */
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
pstat->flags |= WLAN_STA_NONERP;
|
pstat->flags |= WLAN_STA_NONERP;
|
||||||
|
@ -2359,7 +2356,6 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
|
||||||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||||
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
|
|
||||||
/* check RA matches or not */
|
/* check RA matches or not */
|
||||||
if (!_rtw_memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe), ETH_ALEN))/* for if1, sta/ap mode */
|
if (!_rtw_memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe), ETH_ALEN))/* for if1, sta/ap mode */
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
|
@ -2463,7 +2459,6 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6713,7 +6708,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
|
||||||
pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (pstat->bssratelen-8), pstat->bssrateset+8, &(pattrib->pktlen));
|
pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (pstat->bssratelen-8), pstat->bssrateset+8, &(pattrib->pktlen));
|
||||||
}
|
}
|
||||||
|
|
||||||
#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;
|
||||||
|
|
||||||
|
@ -6736,7 +6730,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* FILL WMM IE */
|
/* FILL WMM IE */
|
||||||
if ((pstat->flags & WLAN_STA_WME) && (pmlmepriv->qospriv.qos_option)) {
|
if ((pstat->flags & WLAN_STA_WME) && (pmlmepriv->qospriv.qos_option)) {
|
||||||
|
@ -6947,7 +6940,6 @@ void issue_assocreq(struct adapter *padapter)
|
||||||
if (p != NULL)
|
if (p != NULL)
|
||||||
pframe = rtw_set_ie(pframe, _RSN_IE_2_, ie_len, (p + 2), &(pattrib->pktlen));
|
pframe = rtw_set_ie(pframe, _RSN_IE_2_, ie_len, (p + 2), &(pattrib->pktlen));
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* HT caps */
|
/* HT caps */
|
||||||
if(padapter->mlmepriv.htpriv.ht_option==true) {
|
if(padapter->mlmepriv.htpriv.ht_option==true) {
|
||||||
p = rtw_get_ie((pmlmeinfo->network.IEs + sizeof(NDIS_802_11_FIXED_IEs)), _HT_CAPABILITY_IE_, &ie_len, (pmlmeinfo->network.IELength - sizeof(NDIS_802_11_FIXED_IEs)));
|
p = rtw_get_ie((pmlmeinfo->network.IEs + sizeof(NDIS_802_11_FIXED_IEs)), _HT_CAPABILITY_IE_, &ie_len, (pmlmeinfo->network.IELength - sizeof(NDIS_802_11_FIXED_IEs)));
|
||||||
|
@ -7006,7 +6998,6 @@ void issue_assocreq(struct adapter *padapter)
|
||||||
{
|
{
|
||||||
/* set to 8K */
|
/* set to 8K */
|
||||||
pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para &= (u8)~IEEE80211_HT_CAP_AMPDU_FACTOR;
|
pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para &= (u8)~IEEE80211_HT_CAP_AMPDU_FACTOR;
|
||||||
/* pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para |= MAX_AMPDU_FACTOR_8K */
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -7014,7 +7005,6 @@ void issue_assocreq(struct adapter *padapter)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* vendor specific IE, such as WPA, WMM, WPS */
|
/* vendor specific IE, such as WPA, WMM, WPS */
|
||||||
for (i = sizeof(NDIS_802_11_FIXED_IEs); i < pmlmeinfo->network.IELength;)
|
for (i = sizeof(NDIS_802_11_FIXED_IEs); i < pmlmeinfo->network.IELength;)
|
||||||
|
@ -7798,7 +7788,6 @@ static void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
|
||||||
u8 tendaAPMac[] = {0xC8, 0x3A, 0x35};
|
u8 tendaAPMac[] = {0xC8, 0x3A, 0x35};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
DBG_871X("%s, category=%d, action=%d, status=%d\n", __FUNCTION__, category, action, status);
|
DBG_871X("%s, category=%d, action=%d, status=%d\n", __FUNCTION__, category, action, status);
|
||||||
|
|
||||||
if ((pmgntframe = alloc_mgtxmitframe(pxmitpriv)) == NULL)
|
if ((pmgntframe = alloc_mgtxmitframe(pxmitpriv)) == NULL)
|
||||||
|
@ -7932,7 +7921,6 @@ static void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
|
||||||
pattrib->last_txcmdsz = pattrib->pktlen;
|
pattrib->last_txcmdsz = pattrib->pktlen;
|
||||||
|
|
||||||
dump_mgntframe(padapter, pmgntframe);
|
dump_mgntframe(padapter, pmgntframe);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void issue_action_BSSCoexistPacket(struct adapter *padapter)
|
static void issue_action_BSSCoexistPacket(struct adapter *padapter)
|
||||||
|
@ -7953,7 +7941,6 @@ static void issue_action_BSSCoexistPacket(struct 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;
|
||||||
|
|
||||||
|
@ -8044,16 +8031,13 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ICS[0][pbss_network->Configuration.DSConfig]=1;
|
ICS[0][pbss_network->Configuration.DSConfig]=1;
|
||||||
|
|
||||||
if(ICS[0][0] == 0)
|
if(ICS[0][0] == 0)
|
||||||
ICS[0][0] = 1;
|
ICS[0][0] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||||
|
|
||||||
|
|
||||||
for(i= 0;i<8;i++)
|
for(i= 0;i<8;i++)
|
||||||
{
|
{
|
||||||
if(ICS[i][0] == 1)
|
if(ICS[i][0] == 1)
|
||||||
|
@ -8076,21 +8060,13 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pframe = rtw_set_ie(pframe, EID_BSSIntolerantChlReport, k, InfoContent, &(pattrib->pktlen));
|
pframe = rtw_set_ie(pframe, EID_BSSIntolerantChlReport, k, InfoContent, &(pattrib->pktlen));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pattrib->last_txcmdsz = pattrib->pktlen;
|
pattrib->last_txcmdsz = pattrib->pktlen;
|
||||||
|
|
||||||
dump_mgntframe(padapter, pmgntframe);
|
dump_mgntframe(padapter, pmgntframe);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
|
unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
|
||||||
|
@ -8132,7 +8108,6 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
|
||||||
}
|
}
|
||||||
else if(initiator == 1)/* originator */
|
else if(initiator == 1)/* originator */
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* DBG_871X("tx agg_enable_bitmap(0x%08x)\n", psta->htpriv.agg_enable_bitmap); */
|
/* DBG_871X("tx agg_enable_bitmap(0x%08x)\n", psta->htpriv.agg_enable_bitmap); */
|
||||||
for(tid = 0;tid<MAXTID;tid++)
|
for(tid = 0;tid<MAXTID;tid++)
|
||||||
{
|
{
|
||||||
|
@ -8146,11 +8121,8 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _SUCCESS;
|
return _SUCCESS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int send_beacon(struct adapter *padapter)
|
unsigned int send_beacon(struct adapter *padapter)
|
||||||
|
@ -8664,7 +8636,6 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, WLA
|
||||||
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;
|
||||||
|
@ -8675,8 +8646,6 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, WLA
|
||||||
} else {
|
} else {
|
||||||
pmlmepriv->num_sta_no_ht++;
|
pmlmepriv->num_sta_no_ht++;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_INTEL_WIDI
|
#ifdef CONFIG_INTEL_WIDI
|
||||||
|
@ -9508,7 +9477,6 @@ void update_sta_info(struct 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)
|
||||||
{
|
{
|
||||||
|
@ -9523,25 +9491,20 @@ void update_sta_info(struct adapter *padapter, struct sta_info *psta)
|
||||||
|
|
||||||
}
|
}
|
||||||
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.sgi = false;
|
psta->htpriv.sgi = false;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
psta->qos_option = false;
|
psta->qos_option = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
psta->htpriv.bwmode = pmlmeext->cur_bwmode;
|
psta->htpriv.bwmode = pmlmeext->cur_bwmode;
|
||||||
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 */
|
|
||||||
|
|
||||||
/* QoS */
|
/* QoS */
|
||||||
if(pmlmepriv->qospriv.qos_option)
|
if(pmlmepriv->qospriv.qos_option)
|
||||||
|
@ -10079,7 +10042,6 @@ void link_timer_hdl(struct 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)
|
||||||
|
@ -10093,7 +10055,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
|
||||||
|
@ -10315,7 +10276,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _HT_EXTRA_INFO_IE_: /* Get HT Info IE. */
|
case _HT_EXTRA_INFO_IE_: /* Get HT Info IE. */
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pmlmeinfo->HT_info_enable = 1;
|
pmlmeinfo->HT_info_enable = 1;
|
||||||
|
|
||||||
/* spec case only for cisco's ap because cisco's ap issue assoc rsp using mcs rate @40MHz or @20MHz */
|
/* spec case only for cisco's ap because cisco's ap issue assoc rsp using mcs rate @40MHz or @20MHz */
|
||||||
|
@ -10345,9 +10305,7 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
|
||||||
DBG_871X("set ch/bw before connected\n");
|
DBG_871X("set ch/bw before connected\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -10745,7 +10703,6 @@ u8 add_ba_hdl(struct 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))
|
||||||
{
|
{
|
||||||
|
@ -10772,7 +10729,6 @@ u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf)
|
||||||
{
|
{
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3239,9 +3239,6 @@ int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prfram
|
||||||
#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;
|
||||||
|
|
||||||
#ifdef CONFIG_TDLS
|
#ifdef CONFIG_TDLS
|
||||||
|
@ -3270,7 +3267,6 @@ int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prfram
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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)
|
||||||
|
@ -3398,7 +3394,6 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
@ -3409,68 +3404,6 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue);/* free this recv_frame */
|
rtw_free_recvframe(orig_prframe, pfree_recv_queue);/* free this recv_frame */
|
||||||
goto _recv_data_drop;
|
goto _recv_data_drop;
|
||||||
}
|
}
|
||||||
#else /* CONFIG_80211N_HT */
|
|
||||||
if (!pattrib->amsdu)
|
|
||||||
{
|
|
||||||
ret = wlanhdr_to_ethhdr (prframe);
|
|
||||||
if (ret != _SUCCESS)
|
|
||||||
{
|
|
||||||
RT_TRACE(_module_rtl871x_recv_c_,_drv_err_,("wlanhdr_to_ethhdr: drop pkt \n"));
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
DBG_871X("DBG_RX_DROP_FRAME %s wlanhdr_to_ethhdr: drop pkt\n", __FUNCTION__);
|
|
||||||
#endif
|
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue);/* free this recv_frame */
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((padapter->bDriverStopped == false) && (padapter->bSurpriseRemoved == false))
|
|
||||||
{
|
|
||||||
RT_TRACE(_module_rtl871x_recv_c_, _drv_alert_, ("@@@@ recv_func: recv_func rtw_recv_indicatepkt\n" ));
|
|
||||||
/* indicate this recv_frame */
|
|
||||||
ret = rtw_recv_indicatepkt(padapter, prframe);
|
|
||||||
if (ret != _SUCCESS)
|
|
||||||
{
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
DBG_871X("DBG_RX_DROP_FRAME %s rtw_recv_indicatepkt fail!\n", __FUNCTION__);
|
|
||||||
#endif
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
RT_TRACE(_module_rtl871x_recv_c_, _drv_alert_, ("@@@@ recv_func: rtw_free_recvframe\n" ));
|
|
||||||
RT_TRACE(_module_rtl871x_recv_c_, _drv_debug_, ("recv_func:bDriverStopped(%d) OR bSurpriseRemoved(%d)", padapter->bDriverStopped, padapter->bSurpriseRemoved));
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
DBG_871X("DBG_RX_DROP_FRAME %s ecv_func:bDriverStopped(%d) OR bSurpriseRemoved(%d)\n", __FUNCTION__,
|
|
||||||
padapter->bDriverStopped, padapter->bSurpriseRemoved);
|
|
||||||
#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
|
|
||||||
DBG_871X("DBG_RX_DROP_FRAME %s amsdu_to_msdu fail\n", __FUNCTION__);
|
|
||||||
#endif
|
|
||||||
rtw_free_recvframe(orig_prframe, pfree_recv_queue);
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#ifdef DBG_RX_DROP_FRAME
|
|
||||||
DBG_871X("DBG_RX_DROP_FRAME %s what is this condition??\n", __FUNCTION__);
|
|
||||||
#endif
|
|
||||||
goto _recv_data_drop;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
_exit_recv_func:
|
_exit_recv_func:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -880,7 +880,6 @@ void WMMOnAssocRsp(struct adapter *padapter)
|
||||||
|
|
||||||
static void bwmode_update_check(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
static void bwmode_update_check(struct 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;
|
||||||
|
@ -972,12 +971,10 @@ static void bwmode_update_check(struct adapter *padapter, PNDIS_802_11_VARIABLE_
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HT_caps_handler(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
void HT_caps_handler(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
u8 rf_type;
|
u8 rf_type;
|
||||||
u8 max_AMPDU_len, min_MPDU_spacing;
|
u8 max_AMPDU_len, min_MPDU_spacing;
|
||||||
|
@ -1058,13 +1055,10 @@ void HT_caps_handler(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HT_info_handler(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
void HT_info_handler(struct 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;
|
||||||
|
@ -1080,8 +1074,6 @@ void HT_info_handler(struct adapter *padapter, PNDIS_802_11_VARIABLE_IEs pIE)
|
||||||
|
|
||||||
pmlmeinfo->HT_info_enable = 1;
|
pmlmeinfo->HT_info_enable = 1;
|
||||||
memcpy(&(pmlmeinfo->HT_info), pIE->data, pIE->Length);
|
memcpy(&(pmlmeinfo->HT_info), pIE->data, pIE->Length);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HTOnAssocRsp(struct adapter *padapter)
|
void HTOnAssocRsp(struct adapter *padapter)
|
||||||
|
|
|
@ -546,22 +546,12 @@ static void update_attrib_phy_info(struct pkt_attrib *pattrib, struct sta_info *
|
||||||
pattrib->qos_en = psta->qos_option;
|
pattrib->qos_en = psta->qos_option;
|
||||||
|
|
||||||
pattrib->raid = psta->raid;
|
pattrib->raid = psta->raid;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pattrib->ht_en = psta->htpriv.ht_option;
|
pattrib->ht_en = psta->htpriv.ht_option;
|
||||||
pattrib->bwmode = psta->htpriv.bwmode;
|
pattrib->bwmode = psta->htpriv.bwmode;
|
||||||
pattrib->ch_offset = psta->htpriv.ch_offset;
|
pattrib->ch_offset = psta->htpriv.ch_offset;
|
||||||
pattrib->sgi= psta->htpriv.sgi;
|
pattrib->sgi= psta->htpriv.sgi;
|
||||||
pattrib->ampdu_en = false;
|
pattrib->ampdu_en = false;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
/* if(pattrib->ht_en && psta->htpriv.ampdu_enable) */
|
|
||||||
/* */
|
|
||||||
/* if(psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) */
|
|
||||||
/* pattrib->ampdu_en = true; */
|
|
||||||
/* */
|
|
||||||
|
|
||||||
|
|
||||||
pattrib->retry_ctrl = false;
|
pattrib->retry_ctrl = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 qos_acm(u8 acm_mask, u8 priority)
|
u8 qos_acm(u8 acm_mask, u8 priority)
|
||||||
|
@ -1221,7 +1211,6 @@ s32 rtw_make_wlanhdr (struct adapter *padapter , u8 *hdr, struct pkt_attrib *pat
|
||||||
|
|
||||||
SetSeqNum(hdr, pattrib->seqnum);
|
SetSeqNum(hdr, pattrib->seqnum);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
/* check if enable ampdu */
|
/* check if enable ampdu */
|
||||||
if(pattrib->ht_en && psta->htpriv.ampdu_enable)
|
if(pattrib->ht_en && psta->htpriv.ampdu_enable)
|
||||||
{
|
{
|
||||||
|
@ -1256,7 +1245,6 @@ s32 rtw_make_wlanhdr (struct adapter *padapter , u8 *hdr, struct pkt_attrib *pat
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
#ifdef CONFIG_TDLS
|
#ifdef CONFIG_TDLS
|
||||||
if(direct_link==1)
|
if(direct_link==1)
|
||||||
{
|
{
|
||||||
|
@ -1270,12 +1258,10 @@ s32 rtw_make_wlanhdr (struct adapter *padapter , u8 *hdr, struct pkt_attrib *pat
|
||||||
/* pattrib->qos_en = ptdls_sta->qos_option; */
|
/* pattrib->qos_en = ptdls_sta->qos_option; */
|
||||||
|
|
||||||
pattrib->raid = ptdls_sta->raid;
|
pattrib->raid = ptdls_sta->raid;
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
pattrib->bwmode = ptdls_sta->htpriv.bwmode;
|
pattrib->bwmode = ptdls_sta->htpriv.bwmode;
|
||||||
pattrib->ht_en = ptdls_sta->htpriv.ht_option;
|
pattrib->ht_en = ptdls_sta->htpriv.ht_option;
|
||||||
pattrib->ch_offset = ptdls_sta->htpriv.ch_offset;
|
pattrib->ch_offset = ptdls_sta->htpriv.ch_offset;
|
||||||
pattrib->sgi= ptdls_sta->htpriv.sgi;
|
pattrib->sgi= ptdls_sta->htpriv.sgi;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
pattrib->mac_id = ptdls_sta->mac_id;
|
pattrib->mac_id = ptdls_sta->mac_id;
|
||||||
|
|
||||||
psta = psta_backup;
|
psta = psta_backup;
|
||||||
|
|
|
@ -571,16 +571,12 @@ static s32 rtw_dump_xframe(struct adapter *padapter, struct xmit_frame *pxmitfra
|
||||||
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;
|
||||||
|
|
||||||
RT_TRACE(_module_rtl871x_xmit_c_,_drv_info_,("rtw_dump_xframe()\n"));
|
RT_TRACE(_module_rtl871x_xmit_c_,_drv_info_,("rtw_dump_xframe()\n"));
|
||||||
|
@ -920,7 +916,6 @@ s32 rtl8188eu_xmitframe_complete(struct adapter *padapter, struct xmit_priv *pxm
|
||||||
rtw_list_delete(&ptxservq->tx_pending);
|
rtw_list_delete(&ptxservq->tx_pending);
|
||||||
|
|
||||||
_exit_critical_bh(&pxmitpriv->lock, &irqL);
|
_exit_critical_bh(&pxmitpriv->lock, &irqL);
|
||||||
#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) &&
|
||||||
|
@ -928,7 +923,6 @@ s32 rtl8188eu_xmitframe_complete(struct adapter *padapter, struct xmit_priv *pxm
|
||||||
{
|
{
|
||||||
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 ((pbuf_tail % bulkSize) == 0) {
|
if ((pbuf_tail % bulkSize) == 0) {
|
||||||
|
|
|
@ -45,8 +45,6 @@
|
||||||
|
|
||||||
#define CONFIG_EMBEDDED_FWIMG
|
#define CONFIG_EMBEDDED_FWIMG
|
||||||
|
|
||||||
#define CONFIG_80211N_HT
|
|
||||||
|
|
||||||
#define CONFIG_RECV_REORDERING_CTRL
|
#define CONFIG_RECV_REORDERING_CTRL
|
||||||
|
|
||||||
#define CONFIG_SUPPORT_USB_INT
|
#define CONFIG_SUPPORT_USB_INT
|
||||||
|
|
|
@ -42,10 +42,7 @@ enum _NIC_VERSION {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
#include <rtw_ht.h>
|
#include <rtw_ht.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rtw_cmd.h>
|
#include <rtw_cmd.h>
|
||||||
#include <wlan_bssdef.h>
|
#include <wlan_bssdef.h>
|
||||||
|
@ -144,13 +141,11 @@ struct registry_priv
|
||||||
|
|
||||||
WLAN_BSSID_EX dev_network;
|
WLAN_BSSID_EX dev_network;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
u8 ht_enable;
|
u8 ht_enable;
|
||||||
u8 cbw40_enable;
|
u8 cbw40_enable;
|
||||||
u8 ampdu_enable;//for tx
|
u8 ampdu_enable;//for tx
|
||||||
u8 rx_stbc;
|
u8 rx_stbc;
|
||||||
u8 ampdu_amsdu;//A-MPDU Supports A-MSDU is permitted
|
u8 ampdu_amsdu;//A-MPDU Supports A-MSDU is permitted
|
||||||
#endif
|
|
||||||
u8 lowrate_two_xmit;
|
u8 lowrate_two_xmit;
|
||||||
|
|
||||||
u8 rf_config ;
|
u8 rf_config ;
|
||||||
|
|
|
@ -87,11 +87,9 @@ extern int rtw_mc2u_disable;
|
||||||
|
|
||||||
extern char* rtw_initmac;
|
extern char* rtw_initmac;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
extern int rtw_ht_enable;
|
extern int rtw_ht_enable;
|
||||||
extern int rtw_cbw40_enable;
|
extern int rtw_cbw40_enable;
|
||||||
extern int rtw_ampdu_enable;//for enable tx_ampdu
|
extern int rtw_ampdu_enable;//for enable tx_ampdu
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_GLOBAL_UI_PID
|
#ifdef CONFIG_GLOBAL_UI_PID
|
||||||
extern int ui_pid[3];
|
extern int ui_pid[3];
|
||||||
|
|
|
@ -387,7 +387,6 @@ extern u32 GlobalDebugLevel;
|
||||||
|
|
||||||
int proc_set_rx_signal(struct file *file, const char __user *buffer,
|
int proc_set_rx_signal(struct file *file, const char __user *buffer,
|
||||||
unsigned long count, void *data);
|
unsigned long count, void *data);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
int proc_get_ht_enable(char *page, char **start,
|
int proc_get_ht_enable(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
|
@ -416,7 +415,6 @@ extern u32 GlobalDebugLevel;
|
||||||
|
|
||||||
int proc_set_rx_stbc(struct file *file, const char __user *buffer,
|
int proc_set_rx_stbc(struct file *file, const char __user *buffer,
|
||||||
unsigned long count, void *data);
|
unsigned long count, void *data);
|
||||||
#endif //CONFIG_80211N_HT
|
|
||||||
|
|
||||||
int proc_get_two_path_rssi(char *page, char **start,
|
int proc_get_two_path_rssi(char *page, char **start,
|
||||||
off_t offset, int count,
|
off_t offset, int count,
|
||||||
|
|
|
@ -434,8 +434,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;
|
||||||
|
|
||||||
|
@ -447,8 +445,6 @@ struct mlme_priv {
|
||||||
|
|
||||||
struct ht_priv htpriv;
|
struct ht_priv htpriv;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
RT_LINK_DETECT_T LinkDetectInfo;
|
RT_LINK_DETECT_T LinkDetectInfo;
|
||||||
_timer dynamic_chk_timer; //dynamic/periodic check timer
|
_timer dynamic_chk_timer; //dynamic/periodic check timer
|
||||||
|
|
||||||
|
@ -486,9 +482,7 @@ struct mlme_priv {
|
||||||
/* Overlapping BSS information */
|
/* Overlapping BSS information */
|
||||||
int olbc_ht;
|
int olbc_ht;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
u16 ht_op_mode;
|
u16 ht_op_mode;
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
u8 *assoc_req;
|
u8 *assoc_req;
|
||||||
u32 assoc_req_len;
|
u32 assoc_req_len;
|
||||||
|
@ -783,11 +777,9 @@ u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
|
||||||
|
|
||||||
void rtw_joinbss_reset(struct adapter *padapter);
|
void rtw_joinbss_reset(struct adapter *padapter);
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len);
|
unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len);
|
||||||
void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len);
|
void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len);
|
||||||
void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe);
|
void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe);
|
||||||
#endif
|
|
||||||
|
|
||||||
int rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork);
|
int rtw_is_same_ibss(struct 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);
|
||||||
|
|
|
@ -175,10 +175,7 @@ struct sta_info {
|
||||||
//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:
|
||||||
|
|
204
include/wifi.h
204
include/wifi.h
|
@ -21,7 +21,7 @@
|
||||||
#define _WIFI_H_
|
#define _WIFI_H_
|
||||||
|
|
||||||
#ifdef BIT
|
#ifdef BIT
|
||||||
//#error "BIT define occurred earlier elsewhere!\n"
|
/* error "BIT define occurred earlier elsewhere!\n" */
|
||||||
#undef BIT
|
#undef BIT
|
||||||
#endif
|
#endif
|
||||||
#define BIT(x) (1 << (x))
|
#define BIT(x) (1 << (x))
|
||||||
|
@ -50,9 +50,9 @@
|
||||||
|
|
||||||
#define P80211CAPTURE_VERSION 0x80211001
|
#define P80211CAPTURE_VERSION 0x80211001
|
||||||
|
|
||||||
// This value is tested by WiFi 11n Test Plan 5.2.3.
|
/* This value is tested by WiFi 11n Test Plan 5.2.3. */
|
||||||
// This test verifies the WLAN NIC can update the NAV through sending the CTS with large duration.
|
/* This test verifies the WLAN NIC can update the NAV through sending the CTS with large duration. */
|
||||||
#define WiFiNavUpperUs 30000 // 30 ms
|
#define WiFiNavUpperUs 30000 /* 30 ms */
|
||||||
|
|
||||||
#ifdef GREEN_HILL
|
#ifdef GREEN_HILL
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
|
@ -62,12 +62,12 @@ enum WIFI_FRAME_TYPE {
|
||||||
WIFI_MGT_TYPE = (0),
|
WIFI_MGT_TYPE = (0),
|
||||||
WIFI_CTRL_TYPE = (BIT(2)),
|
WIFI_CTRL_TYPE = (BIT(2)),
|
||||||
WIFI_DATA_TYPE = (BIT(3)),
|
WIFI_DATA_TYPE = (BIT(3)),
|
||||||
WIFI_QOS_DATA_TYPE = (BIT(7)|BIT(3)), //!< QoS Data
|
WIFI_QOS_DATA_TYPE = (BIT(7)|BIT(3)), /* QoS Data */
|
||||||
};
|
};
|
||||||
|
|
||||||
enum WIFI_FRAME_SUBTYPE {
|
enum WIFI_FRAME_SUBTYPE {
|
||||||
|
|
||||||
// below is for mgt frame
|
/* below is for mgt frame */
|
||||||
WIFI_ASSOCREQ = (0 | WIFI_MGT_TYPE),
|
WIFI_ASSOCREQ = (0 | WIFI_MGT_TYPE),
|
||||||
WIFI_ASSOCRSP = (BIT(4) | WIFI_MGT_TYPE),
|
WIFI_ASSOCRSP = (BIT(4) | WIFI_MGT_TYPE),
|
||||||
WIFI_REASSOCREQ = (BIT(5) | WIFI_MGT_TYPE),
|
WIFI_REASSOCREQ = (BIT(5) | WIFI_MGT_TYPE),
|
||||||
|
@ -81,7 +81,7 @@ enum WIFI_FRAME_SUBTYPE {
|
||||||
WIFI_DEAUTH = (BIT(7) | BIT(6) | WIFI_MGT_TYPE),
|
WIFI_DEAUTH = (BIT(7) | BIT(6) | WIFI_MGT_TYPE),
|
||||||
WIFI_ACTION = (BIT(7) | BIT(6) | BIT(4) | WIFI_MGT_TYPE),
|
WIFI_ACTION = (BIT(7) | BIT(6) | BIT(4) | WIFI_MGT_TYPE),
|
||||||
|
|
||||||
// below is for control frame
|
/* below is for control frame */
|
||||||
WIFI_PSPOLL = (BIT(7) | BIT(5) | WIFI_CTRL_TYPE),
|
WIFI_PSPOLL = (BIT(7) | BIT(5) | WIFI_CTRL_TYPE),
|
||||||
WIFI_RTS = (BIT(7) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
|
WIFI_RTS = (BIT(7) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
|
||||||
WIFI_CTS = (BIT(7) | BIT(6) | WIFI_CTRL_TYPE),
|
WIFI_CTS = (BIT(7) | BIT(6) | WIFI_CTRL_TYPE),
|
||||||
|
@ -89,7 +89,7 @@ enum WIFI_FRAME_SUBTYPE {
|
||||||
WIFI_CFEND = (BIT(7) | BIT(6) | BIT(5) | WIFI_CTRL_TYPE),
|
WIFI_CFEND = (BIT(7) | BIT(6) | BIT(5) | WIFI_CTRL_TYPE),
|
||||||
WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
|
WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
|
||||||
|
|
||||||
// below is for data frame
|
/* below is for data frame */
|
||||||
WIFI_DATA = (0 | WIFI_DATA_TYPE),
|
WIFI_DATA = (0 | WIFI_DATA_TYPE),
|
||||||
WIFI_DATA_CFACK = (BIT(4) | WIFI_DATA_TYPE),
|
WIFI_DATA_CFACK = (BIT(4) | WIFI_DATA_TYPE),
|
||||||
WIFI_DATA_CFPOLL = (BIT(5) | WIFI_DATA_TYPE),
|
WIFI_DATA_CFPOLL = (BIT(5) | WIFI_DATA_TYPE),
|
||||||
|
@ -113,7 +113,7 @@ enum WIFI_REASON_CODE {
|
||||||
_RSON_DISAOC_STA_LEAVING_ = 8,
|
_RSON_DISAOC_STA_LEAVING_ = 8,
|
||||||
_RSON_ASOC_NOT_AUTH_ = 9,
|
_RSON_ASOC_NOT_AUTH_ = 9,
|
||||||
|
|
||||||
// WPA reason
|
/* WPA reason */
|
||||||
_RSON_INVALID_IE_ = 13,
|
_RSON_INVALID_IE_ = 13,
|
||||||
_RSON_MIC_FAILURE_ = 14,
|
_RSON_MIC_FAILURE_ = 14,
|
||||||
_RSON_4WAY_HNDSHK_TIMEOUT_ = 15,
|
_RSON_4WAY_HNDSHK_TIMEOUT_ = 15,
|
||||||
|
@ -126,7 +126,7 @@ enum WIFI_REASON_CODE {
|
||||||
_RSON_INVALID_RSNE_CAP_ = 22,
|
_RSON_INVALID_RSNE_CAP_ = 22,
|
||||||
_RSON_IEEE_802DOT1X_AUTH_FAIL_ = 23,
|
_RSON_IEEE_802DOT1X_AUTH_FAIL_ = 23,
|
||||||
|
|
||||||
//belowing are Realtek definition
|
/* belowing are Realtek definition */
|
||||||
_RSON_PMK_NOT_AVAILABLE_ = 24,
|
_RSON_PMK_NOT_AVAILABLE_ = 24,
|
||||||
_RSON_TDLS_TEAR_TOOFAR_ = 25,
|
_RSON_TDLS_TEAR_TOOFAR_ = 25,
|
||||||
_RSON_TDLS_TEAR_UN_RSN_ = 26,
|
_RSON_TDLS_TEAR_UN_RSN_ = 26,
|
||||||
|
@ -152,7 +152,7 @@ enum WIFI_STATUS_CODE {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Status codes (IEEE 802.11-2007, 7.3.1.9, Table 7-23) */
|
/* Status codes (IEEE 802.11-2007, 7.3.1.9, Table 7-23) */
|
||||||
//entended
|
/* entended */
|
||||||
/* IEEE 802.11b */
|
/* IEEE 802.11b */
|
||||||
#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19
|
#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19
|
||||||
#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 20
|
#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 20
|
||||||
|
@ -376,16 +376,16 @@ __inline static unsigned char * get_da(unsigned char *pframe)
|
||||||
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
||||||
|
|
||||||
switch (to_fr_ds) {
|
switch (to_fr_ds) {
|
||||||
case 0x00: // ToDs=0, FromDs=0
|
case 0x00: /* ToDs=0, FromDs=0 */
|
||||||
da = GetAddr1Ptr(pframe);
|
da = GetAddr1Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x01: // ToDs=0, FromDs=1
|
case 0x01: /* ToDs=0, FromDs=1 */
|
||||||
da = GetAddr1Ptr(pframe);
|
da = GetAddr1Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x02: // ToDs=1, FromDs=0
|
case 0x02: /* ToDs=1, FromDs=0 */
|
||||||
da = GetAddr3Ptr(pframe);
|
da = GetAddr3Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
default: // ToDs=1, FromDs=1
|
default: /* ToDs=1, FromDs=1 */
|
||||||
da = GetAddr3Ptr(pframe);
|
da = GetAddr3Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -400,16 +400,16 @@ __inline static unsigned char * get_sa(unsigned char *pframe)
|
||||||
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
||||||
|
|
||||||
switch (to_fr_ds) {
|
switch (to_fr_ds) {
|
||||||
case 0x00: // ToDs=0, FromDs=0
|
case 0x00: /* ToDs=0, FromDs=0 */
|
||||||
sa = GetAddr2Ptr(pframe);
|
sa = GetAddr2Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x01: // ToDs=0, FromDs=1
|
case 0x01: /* ToDs=0, FromDs=1 */
|
||||||
sa = GetAddr3Ptr(pframe);
|
sa = GetAddr3Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x02: // ToDs=1, FromDs=0
|
case 0x02: /* ToDs=1, FromDs=0 */
|
||||||
sa = GetAddr2Ptr(pframe);
|
sa = GetAddr2Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
default: // ToDs=1, FromDs=1
|
default: /* ToDs=1, FromDs=1 */
|
||||||
sa = GetAddr4Ptr(pframe);
|
sa = GetAddr4Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -423,20 +423,20 @@ __inline static unsigned char * get_hdr_bssid(unsigned char *pframe)
|
||||||
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
|
||||||
|
|
||||||
switch (to_fr_ds) {
|
switch (to_fr_ds) {
|
||||||
case 0x00: // ToDs=0, FromDs=0
|
case 0x00: /* ToDs=0, FromDs=0 */
|
||||||
sa = GetAddr3Ptr(pframe);
|
sa = GetAddr3Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x01: // ToDs=0, FromDs=1
|
case 0x01: /* ToDs=0, FromDs=1 */
|
||||||
sa = GetAddr2Ptr(pframe);
|
sa = GetAddr2Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x02: // ToDs=1, FromDs=0
|
case 0x02: /* ToDs=1, FromDs=0 */
|
||||||
sa = GetAddr1Ptr(pframe);
|
sa = GetAddr1Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
case 0x03: // ToDs=1, FromDs=1
|
case 0x03: /* ToDs=1, FromDs=1 */
|
||||||
sa = GetAddr1Ptr(pframe);
|
sa = GetAddr1Ptr(pframe);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sa =NULL; //???????
|
sa =NULL; /* */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,10 +463,10 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
#define _PRE_ALLOCMICHDR_ 6
|
#define _PRE_ALLOCMICHDR_ 6
|
||||||
|
|
||||||
#define _SIFSTIME_ ((priv->pmib->dot11BssType.net_work_type&WIRELESS_11A)?16:10)
|
#define _SIFSTIME_ ((priv->pmib->dot11BssType.net_work_type&WIRELESS_11A)?16:10)
|
||||||
#define _ACKCTSLNG_ 14 //14 bytes long, including crclng
|
#define _ACKCTSLNG_ 14 /* 14 bytes long, including crclng */
|
||||||
#define _CRCLNG_ 4
|
#define _CRCLNG_ 4
|
||||||
|
|
||||||
#define _ASOCREQ_IE_OFFSET_ 4 // excluding wlan_hdr
|
#define _ASOCREQ_IE_OFFSET_ 4 /* excluding wlan_hdr */
|
||||||
#define _ASOCRSP_IE_OFFSET_ 6
|
#define _ASOCRSP_IE_OFFSET_ 6
|
||||||
#define _REASOCREQ_IE_OFFSET_ 10
|
#define _REASOCREQ_IE_OFFSET_ 10
|
||||||
#define _REASOCRSP_IE_OFFSET_ 6
|
#define _REASOCRSP_IE_OFFSET_ 6
|
||||||
|
@ -487,7 +487,7 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
#define _COUNTRY_IE_ 7
|
#define _COUNTRY_IE_ 7
|
||||||
#define _CHLGETXT_IE_ 16
|
#define _CHLGETXT_IE_ 16
|
||||||
#define _SUPPORTED_CH_IE_ 36
|
#define _SUPPORTED_CH_IE_ 36
|
||||||
#define _CH_SWTICH_ANNOUNCE_ 37 //Secondary Channel Offset
|
#define _CH_SWTICH_ANNOUNCE_ 37 /* Secondary Channel Offset */
|
||||||
#define _RSN_IE_2_ 48
|
#define _RSN_IE_2_ 48
|
||||||
#define _SSN_IE_1_ 221
|
#define _SSN_IE_1_ 221
|
||||||
#define _ERPINFO_IE_ 42
|
#define _ERPINFO_IE_ 42
|
||||||
|
@ -498,16 +498,16 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
#define _TIMEOUT_ITVL_IE_ 56
|
#define _TIMEOUT_ITVL_IE_ 56
|
||||||
#define _SRC_IE_ 59
|
#define _SRC_IE_ 59
|
||||||
#define _HT_EXTRA_INFO_IE_ 61
|
#define _HT_EXTRA_INFO_IE_ 61
|
||||||
#define _HT_ADD_INFO_IE_ 61 //_HT_EXTRA_INFO_IE_
|
#define _HT_ADD_INFO_IE_ 61 /* _HT_EXTRA_INFO_IE_ */
|
||||||
#define _WAPI_IE_ 68
|
#define _WAPI_IE_ 68
|
||||||
|
|
||||||
|
|
||||||
#define EID_BSSCoexistence 72 // 20/40 BSS Coexistence
|
#define EID_BSSCoexistence 72 /* 20/40 BSS Coexistence */
|
||||||
#define EID_BSSIntolerantChlReport 73
|
#define EID_BSSIntolerantChlReport 73
|
||||||
#define _RIC_Descriptor_IE_ 75
|
#define _RIC_Descriptor_IE_ 75
|
||||||
#ifdef CONFIG_IEEE80211W
|
#ifdef CONFIG_IEEE80211W
|
||||||
#define _MME_IE_ 76 //802.11w Management MIC element
|
#define _MME_IE_ 76 /* 802.11w Management MIC element */
|
||||||
#endif //CONFIG_IEEE80211W
|
#endif /* CONFIG_IEEE80211W */
|
||||||
#define _LINK_ID_IE_ 101
|
#define _LINK_ID_IE_ 101
|
||||||
#define _CH_SWITCH_TIMING_ 104
|
#define _CH_SWITCH_TIMING_ 104
|
||||||
#define _PTI_BUFFER_STATUS_ 106
|
#define _PTI_BUFFER_STATUS_ 106
|
||||||
|
@ -552,8 +552,8 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
/*-----------------------------------------------------------------------------
|
/*-----------------------------------------------------------------------------
|
||||||
Below is the definition for 802.11i / 802.1x
|
Below is the definition for 802.11i / 802.1x
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
#define _IEEE8021X_MGT_ 1 // WPA
|
#define _IEEE8021X_MGT_ 1 /* WPA */
|
||||||
#define _IEEE8021X_PSK_ 2 // WPA with pre-shared key
|
#define _IEEE8021X_PSK_ 2 /* WPA with pre-shared key */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#define _NO_PRIVACY_ 0
|
#define _NO_PRIVACY_ 0
|
||||||
|
@ -562,16 +562,16 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
#define _WRAP_PRIVACY_ 3
|
#define _WRAP_PRIVACY_ 3
|
||||||
#define _CCMP_PRIVACY_ 4
|
#define _CCMP_PRIVACY_ 4
|
||||||
#define _WEP_104_PRIVACY_ 5
|
#define _WEP_104_PRIVACY_ 5
|
||||||
#define _WEP_WPA_MIXED_PRIVACY_ 6 // WEP + WPA
|
#define _WEP_WPA_MIXED_PRIVACY_ 6 WEP + WPA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_IEEE80211W
|
#ifdef CONFIG_IEEE80211W
|
||||||
#define _MME_IE_LENGTH_ 18
|
#define _MME_IE_LENGTH_ 18
|
||||||
#endif //CONFIG_IEEE80211W
|
#endif /* CONFIG_IEEE80211W */
|
||||||
/*-----------------------------------------------------------------------------
|
/*-----------------------------------------------------------------------------
|
||||||
Below is the definition for WMM
|
Below is the definition for WMM
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
#define _WMM_IE_Length_ 7 // for WMM STA
|
#define _WMM_IE_Length_ 7 /* for WMM STA */
|
||||||
#define _WMM_Para_Element_Length_ 24
|
#define _WMM_Para_Element_Length_ 24
|
||||||
|
|
||||||
|
|
||||||
|
@ -579,8 +579,6 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe)
|
||||||
Below is the definition for 802.11n
|
Below is the definition for 802.11n
|
||||||
------------------------------------------------------------------------------*/
|
------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
//#ifdef CONFIG_80211N_HT
|
|
||||||
|
|
||||||
#define SetOrderBit(pbuf) \
|
#define SetOrderBit(pbuf) \
|
||||||
do { \
|
do { \
|
||||||
*(unsigned short *)(pbuf) |= cpu_to_le16(_ORDER_); \
|
*(unsigned short *)(pbuf) |= cpu_to_le16(_ORDER_); \
|
||||||
|
@ -767,14 +765,10 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define HT_INFO_STBC_PARAM_PCO_ACTIVE ((u16) BIT(10))
|
#define HT_INFO_STBC_PARAM_PCO_ACTIVE ((u16) BIT(10))
|
||||||
#define HT_INFO_STBC_PARAM_PCO_PHASE ((u16) BIT(11))
|
#define HT_INFO_STBC_PARAM_PCO_PHASE ((u16) BIT(11))
|
||||||
|
|
||||||
|
/* ===============WPS Section=============== */
|
||||||
|
/* For WPSv1.0 */
|
||||||
//#endif
|
|
||||||
|
|
||||||
// ===============WPS Section===============
|
|
||||||
// For WPSv1.0
|
|
||||||
#define WPSOUI 0x0050f204
|
#define WPSOUI 0x0050f204
|
||||||
// WPS attribute ID
|
/* WPS attribute ID */
|
||||||
#define WPS_ATTR_VER1 0x104A
|
#define WPS_ATTR_VER1 0x104A
|
||||||
#define WPS_ATTR_SIMPLE_CONF_STATE 0x1044
|
#define WPS_ATTR_SIMPLE_CONF_STATE 0x1044
|
||||||
#define WPS_ATTR_RESP_TYPE 0x103B
|
#define WPS_ATTR_RESP_TYPE 0x103B
|
||||||
|
@ -795,29 +789,29 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define WPS_ATTR_VENDOR_EXT 0x1049
|
#define WPS_ATTR_VENDOR_EXT 0x1049
|
||||||
#define WPS_ATTR_SELECTED_REGISTRAR 0x1041
|
#define WPS_ATTR_SELECTED_REGISTRAR 0x1041
|
||||||
|
|
||||||
// Value of WPS attribute "WPS_ATTR_DEVICE_NAME
|
/* Value of WPS attribute "WPS_ATTR_DEVICE_NAME */
|
||||||
#define WPS_MAX_DEVICE_NAME_LEN 32
|
#define WPS_MAX_DEVICE_NAME_LEN 32
|
||||||
|
|
||||||
// Value of WPS Request Type Attribute
|
/* Value of WPS Request Type Attribute */
|
||||||
#define WPS_REQ_TYPE_ENROLLEE_INFO_ONLY 0x00
|
#define WPS_REQ_TYPE_ENROLLEE_INFO_ONLY 0x00
|
||||||
#define WPS_REQ_TYPE_ENROLLEE_OPEN_8021X 0x01
|
#define WPS_REQ_TYPE_ENROLLEE_OPEN_8021X 0x01
|
||||||
#define WPS_REQ_TYPE_REGISTRAR 0x02
|
#define WPS_REQ_TYPE_REGISTRAR 0x02
|
||||||
#define WPS_REQ_TYPE_WLAN_MANAGER_REGISTRAR 0x03
|
#define WPS_REQ_TYPE_WLAN_MANAGER_REGISTRAR 0x03
|
||||||
|
|
||||||
// Value of WPS Response Type Attribute
|
/* Value of WPS Response Type Attribute */
|
||||||
#define WPS_RESPONSE_TYPE_INFO_ONLY 0x00
|
#define WPS_RESPONSE_TYPE_INFO_ONLY 0x00
|
||||||
#define WPS_RESPONSE_TYPE_8021X 0x01
|
#define WPS_RESPONSE_TYPE_8021X 0x01
|
||||||
#define WPS_RESPONSE_TYPE_REGISTRAR 0x02
|
#define WPS_RESPONSE_TYPE_REGISTRAR 0x02
|
||||||
#define WPS_RESPONSE_TYPE_AP 0x03
|
#define WPS_RESPONSE_TYPE_AP 0x03
|
||||||
|
|
||||||
// Value of WPS WiFi Simple Configuration State Attribute
|
/* Value of WPS WiFi Simple Configuration State Attribute */
|
||||||
#define WPS_WSC_STATE_NOT_CONFIG 0x01
|
#define WPS_WSC_STATE_NOT_CONFIG 0x01
|
||||||
#define WPS_WSC_STATE_CONFIG 0x02
|
#define WPS_WSC_STATE_CONFIG 0x02
|
||||||
|
|
||||||
// Value of WPS Version Attribute
|
/* Value of WPS Version Attribute */
|
||||||
#define WPS_VERSION_1 0x10
|
#define WPS_VERSION_1 0x10
|
||||||
|
|
||||||
// Value of WPS Configuration Method Attribute
|
/* Value of WPS Configuration Method Attribute */
|
||||||
#define WPS_CONFIG_METHOD_FLASH 0x0001
|
#define WPS_CONFIG_METHOD_FLASH 0x0001
|
||||||
#define WPS_CONFIG_METHOD_ETHERNET 0x0002
|
#define WPS_CONFIG_METHOD_ETHERNET 0x0002
|
||||||
#define WPS_CONFIG_METHOD_LABEL 0x0004
|
#define WPS_CONFIG_METHOD_LABEL 0x0004
|
||||||
|
@ -832,16 +826,16 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define WPS_CONFIG_METHOD_VDISPLAY 0x2008
|
#define WPS_CONFIG_METHOD_VDISPLAY 0x2008
|
||||||
#define WPS_CONFIG_METHOD_PDISPLAY 0x4008
|
#define WPS_CONFIG_METHOD_PDISPLAY 0x4008
|
||||||
|
|
||||||
// Value of Category ID of WPS Primary Device Type Attribute
|
/* Value of Category ID of WPS Primary Device Type Attribute */
|
||||||
#define WPS_PDT_CID_DISPLAYS 0x0007
|
#define WPS_PDT_CID_DISPLAYS 0x0007
|
||||||
#define WPS_PDT_CID_MULIT_MEDIA 0x0008
|
#define WPS_PDT_CID_MULIT_MEDIA 0x0008
|
||||||
#define WPS_PDT_CID_RTK_WIDI WPS_PDT_CID_MULIT_MEDIA
|
#define WPS_PDT_CID_RTK_WIDI WPS_PDT_CID_MULIT_MEDIA
|
||||||
|
|
||||||
// Value of Sub Category ID of WPS Primary Device Type Attribute
|
/* Value of Sub Category ID of WPS Primary Device Type Attribute */
|
||||||
#define WPS_PDT_SCID_MEDIA_SERVER 0x0005
|
#define WPS_PDT_SCID_MEDIA_SERVER 0x0005
|
||||||
#define WPS_PDT_SCID_RTK_DMP WPS_PDT_SCID_MEDIA_SERVER
|
#define WPS_PDT_SCID_RTK_DMP WPS_PDT_SCID_MEDIA_SERVER
|
||||||
|
|
||||||
// Value of Device Password ID
|
/* Value of Device Password ID */
|
||||||
#define WPS_DPID_PIN 0x0000
|
#define WPS_DPID_PIN 0x0000
|
||||||
#define WPS_DPID_USER_SPEC 0x0001
|
#define WPS_DPID_USER_SPEC 0x0001
|
||||||
#define WPS_DPID_MACHINE_SPEC 0x0002
|
#define WPS_DPID_MACHINE_SPEC 0x0002
|
||||||
|
@ -849,22 +843,22 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define WPS_DPID_PBC 0x0004
|
#define WPS_DPID_PBC 0x0004
|
||||||
#define WPS_DPID_REGISTRAR_SPEC 0x0005
|
#define WPS_DPID_REGISTRAR_SPEC 0x0005
|
||||||
|
|
||||||
// Value of WPS RF Bands Attribute
|
/* Value of WPS RF Bands Attribute */
|
||||||
#define WPS_RF_BANDS_2_4_GHZ 0x01
|
#define WPS_RF_BANDS_2_4_GHZ 0x01
|
||||||
#define WPS_RF_BANDS_5_GHZ 0x02
|
#define WPS_RF_BANDS_5_GHZ 0x02
|
||||||
|
|
||||||
// Value of WPS Association State Attribute
|
/* Value of WPS Association State Attribute */
|
||||||
#define WPS_ASSOC_STATE_NOT_ASSOCIATED 0x00
|
#define WPS_ASSOC_STATE_NOT_ASSOCIATED 0x00
|
||||||
#define WPS_ASSOC_STATE_CONNECTION_SUCCESS 0x01
|
#define WPS_ASSOC_STATE_CONNECTION_SUCCESS 0x01
|
||||||
#define WPS_ASSOC_STATE_CONFIGURATION_FAILURE 0x02
|
#define WPS_ASSOC_STATE_CONFIGURATION_FAILURE 0x02
|
||||||
#define WPS_ASSOC_STATE_ASSOCIATION_FAILURE 0x03
|
#define WPS_ASSOC_STATE_ASSOCIATION_FAILURE 0x03
|
||||||
#define WPS_ASSOC_STATE_IP_FAILURE 0x04
|
#define WPS_ASSOC_STATE_IP_FAILURE 0x04
|
||||||
|
|
||||||
// =====================P2P Section=====================
|
/* =====================P2P Section===================== */
|
||||||
// For P2P
|
/* For P2P */
|
||||||
#define P2POUI 0x506F9A09
|
#define P2POUI 0x506F9A09
|
||||||
|
|
||||||
// P2P Attribute ID
|
/* P2P Attribute ID */
|
||||||
#define P2P_ATTR_STATUS 0x00
|
#define P2P_ATTR_STATUS 0x00
|
||||||
#define P2P_ATTR_MINOR_REASON_CODE 0x01
|
#define P2P_ATTR_MINOR_REASON_CODE 0x01
|
||||||
#define P2P_ATTR_CAPABILITY 0x02
|
#define P2P_ATTR_CAPABILITY 0x02
|
||||||
|
@ -885,7 +879,7 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define P2P_ATTR_OPERATING_CH 0x11
|
#define P2P_ATTR_OPERATING_CH 0x11
|
||||||
#define P2P_ATTR_INVITATION_FLAGS 0x12
|
#define P2P_ATTR_INVITATION_FLAGS 0x12
|
||||||
|
|
||||||
// Value of Status Attribute
|
/* Value of Status Attribute */
|
||||||
#define P2P_STATUS_SUCCESS 0x00
|
#define P2P_STATUS_SUCCESS 0x00
|
||||||
#define P2P_STATUS_FAIL_INFO_UNAVAILABLE 0x01
|
#define P2P_STATUS_FAIL_INFO_UNAVAILABLE 0x01
|
||||||
#define P2P_STATUS_FAIL_INCOMPATIBLE_PARAM 0x02
|
#define P2P_STATUS_FAIL_INCOMPATIBLE_PARAM 0x02
|
||||||
|
@ -899,7 +893,7 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define P2P_STATUS_FAIL_INCOMPATIBLE_PROVSION 0x0A
|
#define P2P_STATUS_FAIL_INCOMPATIBLE_PROVSION 0x0A
|
||||||
#define P2P_STATUS_FAIL_USER_REJECT 0x0B
|
#define P2P_STATUS_FAIL_USER_REJECT 0x0B
|
||||||
|
|
||||||
// Value of Inviation Flags Attribute
|
/* Value of Inviation Flags Attribute */
|
||||||
#define P2P_INVITATION_FLAGS_PERSISTENT BIT(0)
|
#define P2P_INVITATION_FLAGS_PERSISTENT BIT(0)
|
||||||
|
|
||||||
#define DMP_P2P_DEVCAP_SUPPORT (P2P_DEVCAP_SERVICE_DISCOVERY | \
|
#define DMP_P2P_DEVCAP_SUPPORT (P2P_DEVCAP_SERVICE_DISCOVERY | \
|
||||||
|
@ -909,7 +903,7 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
|
|
||||||
#define DMP_P2P_GRPCAP_SUPPORT (P2P_GRPCAP_INTRABSS)
|
#define DMP_P2P_GRPCAP_SUPPORT (P2P_GRPCAP_INTRABSS)
|
||||||
|
|
||||||
// Value of Device Capability Bitmap
|
/* Value of Device Capability Bitmap */
|
||||||
#define P2P_DEVCAP_SERVICE_DISCOVERY BIT(0)
|
#define P2P_DEVCAP_SERVICE_DISCOVERY BIT(0)
|
||||||
#define P2P_DEVCAP_CLIENT_DISCOVERABILITY BIT(1)
|
#define P2P_DEVCAP_CLIENT_DISCOVERABILITY BIT(1)
|
||||||
#define P2P_DEVCAP_CONCURRENT_OPERATION BIT(2)
|
#define P2P_DEVCAP_CONCURRENT_OPERATION BIT(2)
|
||||||
|
@ -917,7 +911,7 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define P2P_DEVCAP_DEVICE_LIMIT BIT(4)
|
#define P2P_DEVCAP_DEVICE_LIMIT BIT(4)
|
||||||
#define P2P_DEVCAP_INVITATION_PROC BIT(5)
|
#define P2P_DEVCAP_INVITATION_PROC BIT(5)
|
||||||
|
|
||||||
// Value of Group Capability Bitmap
|
/* Value of Group Capability Bitmap */
|
||||||
#define P2P_GRPCAP_GO BIT(0)
|
#define P2P_GRPCAP_GO BIT(0)
|
||||||
#define P2P_GRPCAP_PERSISTENT_GROUP BIT(1)
|
#define P2P_GRPCAP_PERSISTENT_GROUP BIT(1)
|
||||||
#define P2P_GRPCAP_GROUP_LIMIT BIT(2)
|
#define P2P_GRPCAP_GROUP_LIMIT BIT(2)
|
||||||
|
@ -926,10 +920,10 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define P2P_GRPCAP_PERSISTENT_RECONN BIT(5)
|
#define P2P_GRPCAP_PERSISTENT_RECONN BIT(5)
|
||||||
#define P2P_GRPCAP_GROUP_FORMATION BIT(6)
|
#define P2P_GRPCAP_GROUP_FORMATION BIT(6)
|
||||||
|
|
||||||
// P2P Public Action Frame ( Management Frame )
|
/* P2P Public Action Frame ( Management Frame ) */
|
||||||
#define P2P_PUB_ACTION_ACTION 0x09
|
#define P2P_PUB_ACTION_ACTION 0x09
|
||||||
|
|
||||||
// P2P Public Action Frame Type
|
/* P2P Public Action Frame Type */
|
||||||
#define P2P_GO_NEGO_REQ 0
|
#define P2P_GO_NEGO_REQ 0
|
||||||
#define P2P_GO_NEGO_RESP 1
|
#define P2P_GO_NEGO_RESP 1
|
||||||
#define P2P_GO_NEGO_CONF 2
|
#define P2P_GO_NEGO_CONF 2
|
||||||
|
@ -940,7 +934,7 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
#define P2P_PROVISION_DISC_REQ 7
|
#define P2P_PROVISION_DISC_REQ 7
|
||||||
#define P2P_PROVISION_DISC_RESP 8
|
#define P2P_PROVISION_DISC_RESP 8
|
||||||
|
|
||||||
// P2P Action Frame Type
|
/* P2P Action Frame Type */
|
||||||
#define P2P_NOTICE_OF_ABSENCE 0
|
#define P2P_NOTICE_OF_ABSENCE 0
|
||||||
#define P2P_PRESENCE_REQUEST 1
|
#define P2P_PRESENCE_REQUEST 1
|
||||||
#define P2P_PRESENCE_RESPONSE 2
|
#define P2P_PRESENCE_RESPONSE 2
|
||||||
|
@ -953,25 +947,25 @@ typedef enum _HT_CAP_AMPDU_FACTOR {
|
||||||
|
|
||||||
#define P2P_WILDCARD_SSID_LEN 7
|
#define P2P_WILDCARD_SSID_LEN 7
|
||||||
|
|
||||||
#define P2P_FINDPHASE_EX_NONE 0 // default value, used when: (1)p2p disabed or (2)p2p enabled but only do 1 scan phase
|
#define P2P_FINDPHASE_EX_NONE 0 /* default value, used when: (1)p2p disabed or (2)p2p enabled but only do 1 scan phase */
|
||||||
#define P2P_FINDPHASE_EX_FULL 1 // used when p2p enabled and want to do 1 scan phase and P2P_FINDPHASE_EX_MAX-1 find phase
|
#define P2P_FINDPHASE_EX_FULL 1 /* used when p2p enabled and want to do 1 scan phase and P2P_FINDPHASE_EX_MAX-1 find phase */
|
||||||
#define P2P_FINDPHASE_EX_SOCIAL_FIRST (P2P_FINDPHASE_EX_FULL+1)
|
#define P2P_FINDPHASE_EX_SOCIAL_FIRST (P2P_FINDPHASE_EX_FULL+1)
|
||||||
#define P2P_FINDPHASE_EX_MAX 4
|
#define P2P_FINDPHASE_EX_MAX 4
|
||||||
#define P2P_FINDPHASE_EX_SOCIAL_LAST P2P_FINDPHASE_EX_MAX
|
#define P2P_FINDPHASE_EX_SOCIAL_LAST P2P_FINDPHASE_EX_MAX
|
||||||
|
|
||||||
#define P2P_PROVISION_TIMEOUT 5000 // 5 seconds timeout for sending the provision discovery request
|
#define P2P_PROVISION_TIMEOUT 5000 /* 5 seconds timeout for sending the provision discovery request */
|
||||||
#define P2P_CONCURRENT_PROVISION_TIMEOUT 3000 // 3 seconds timeout for sending the provision discovery request under concurrent mode
|
#define P2P_CONCURRENT_PROVISION_TIMEOUT 3000 /* 3 seconds timeout for sending the provision discovery request under concurrent mode */
|
||||||
#define P2P_GO_NEGO_TIMEOUT 5000 // 5 seconds timeout for receiving the group negotation response
|
#define P2P_GO_NEGO_TIMEOUT 5000 /* 5 seconds timeout for receiving the group negotation response */
|
||||||
#define P2P_CONCURRENT_GO_NEGO_TIMEOUT 3000 // 3 seconds timeout for sending the negotiation request under concurrent mode
|
#define P2P_CONCURRENT_GO_NEGO_TIMEOUT 3000 /* 3 seconds timeout for sending the negotiation request under concurrent mode */
|
||||||
#define P2P_TX_PRESCAN_TIMEOUT 100 // 100ms
|
#define P2P_TX_PRESCAN_TIMEOUT 100 /* 100ms */
|
||||||
#define P2P_INVITE_TIMEOUT 5000 // 5 seconds timeout for sending the invitation request
|
#define P2P_INVITE_TIMEOUT 5000 /* 5 seconds timeout for sending the invitation request */
|
||||||
#define P2P_CONCURRENT_INVITE_TIMEOUT 3000 // 3 seconds timeout for sending the invitation request under concurrent mode
|
#define P2P_CONCURRENT_INVITE_TIMEOUT 3000 /* 3 seconds timeout for sending the invitation request under concurrent mode */
|
||||||
#define P2P_RESET_SCAN_CH 25000 // 25 seconds timeout to reset the scan channel ( based on channel plan )
|
#define P2P_RESET_SCAN_CH 25000 /* 25 seconds timeout to reset the scan channel ( based on channel plan ) */
|
||||||
#define P2P_MAX_INTENT 15
|
#define P2P_MAX_INTENT 15
|
||||||
|
|
||||||
#define P2P_MAX_NOA_NUM 2
|
#define P2P_MAX_NOA_NUM 2
|
||||||
|
|
||||||
// WPS Configuration Method
|
/* WPS Configuration Method */
|
||||||
#define WPS_CM_NONE 0x0000
|
#define WPS_CM_NONE 0x0000
|
||||||
#define WPS_CM_LABEL 0x0004
|
#define WPS_CM_LABEL 0x0004
|
||||||
#define WPS_CM_DISPLYA 0x0008
|
#define WPS_CM_DISPLYA 0x0008
|
||||||
|
@ -993,29 +987,29 @@ enum P2P_ROLE {
|
||||||
};
|
};
|
||||||
|
|
||||||
enum P2P_STATE {
|
enum P2P_STATE {
|
||||||
P2P_STATE_NONE = 0, // P2P disable
|
P2P_STATE_NONE = 0, /* P2P disable */
|
||||||
P2P_STATE_IDLE = 1, // P2P had enabled and do nothing
|
P2P_STATE_IDLE = 1, /* P2P had enabled and do nothing */
|
||||||
P2P_STATE_LISTEN = 2, // In pure listen state
|
P2P_STATE_LISTEN = 2, /* In pure listen state */
|
||||||
P2P_STATE_SCAN = 3, // In scan phase
|
P2P_STATE_SCAN = 3, /* In scan phase */
|
||||||
P2P_STATE_FIND_PHASE_LISTEN = 4, // In the listen state of find phase
|
P2P_STATE_FIND_PHASE_LISTEN = 4, /* In the listen state of find phase */
|
||||||
P2P_STATE_FIND_PHASE_SEARCH = 5, // In the search state of find phase
|
P2P_STATE_FIND_PHASE_SEARCH = 5, /* In the search state of find phase */
|
||||||
P2P_STATE_TX_PROVISION_DIS_REQ = 6, // In P2P provisioning discovery
|
P2P_STATE_TX_PROVISION_DIS_REQ = 6, /* In P2P provisioning discovery */
|
||||||
P2P_STATE_RX_PROVISION_DIS_RSP = 7,
|
P2P_STATE_RX_PROVISION_DIS_RSP = 7,
|
||||||
P2P_STATE_RX_PROVISION_DIS_REQ = 8,
|
P2P_STATE_RX_PROVISION_DIS_REQ = 8,
|
||||||
P2P_STATE_GONEGO_ING = 9, // Doing the group owner negoitation handshake
|
P2P_STATE_GONEGO_ING = 9, /* Doing the group owner negoitation handshake */
|
||||||
P2P_STATE_GONEGO_OK = 10, // finish the group negoitation handshake with success
|
P2P_STATE_GONEGO_OK = 10, /* finish the group negoitation handshake with success */
|
||||||
P2P_STATE_GONEGO_FAIL = 11, // finish the group negoitation handshake with failure
|
P2P_STATE_GONEGO_FAIL = 11, /* finish the group negoitation handshake with failure */
|
||||||
P2P_STATE_RECV_INVITE_REQ_MATCH = 12, // receiving the P2P Inviation request and match with the profile.
|
P2P_STATE_RECV_INVITE_REQ_MATCH = 12, /* receiving the P2P Inviation request and match with the profile. */
|
||||||
P2P_STATE_PROVISIONING_ING = 13, // Doing the P2P WPS
|
P2P_STATE_PROVISIONING_ING = 13, /* Doing the P2P WPS */
|
||||||
P2P_STATE_PROVISIONING_DONE = 14, // Finish the P2P WPS
|
P2P_STATE_PROVISIONING_DONE = 14, /* Finish the P2P WPS */
|
||||||
P2P_STATE_TX_INVITE_REQ = 15, // Transmit the P2P Invitation request
|
P2P_STATE_TX_INVITE_REQ = 15, /* Transmit the P2P Invitation request */
|
||||||
P2P_STATE_RX_INVITE_RESP_OK = 16, // Receiving the P2P Invitation response
|
P2P_STATE_RX_INVITE_RESP_OK = 16, /* Receiving the P2P Invitation response */
|
||||||
P2P_STATE_RECV_INVITE_REQ_DISMATCH = 17, // receiving the P2P Inviation request and dismatch with the profile.
|
P2P_STATE_RECV_INVITE_REQ_DISMATCH = 17, /* receiving the P2P Inviation request and dismatch with the profile. */
|
||||||
P2P_STATE_RECV_INVITE_REQ_GO = 18, // receiving the P2P Inviation request and this wifi is GO.
|
P2P_STATE_RECV_INVITE_REQ_GO = 18, /* receiving the P2P Inviation request and this wifi is GO. */
|
||||||
P2P_STATE_RECV_INVITE_REQ_JOIN = 19, // receiving the P2P Inviation request to join an existing P2P Group.
|
P2P_STATE_RECV_INVITE_REQ_JOIN = 19, /* receiving the P2P Inviation request to join an existing P2P Group. */
|
||||||
P2P_STATE_RX_INVITE_RESP_FAIL = 20, // recveing the P2P Inviation response with failure
|
P2P_STATE_RX_INVITE_RESP_FAIL = 20, /* recveing the P2P Inviation response with failure */
|
||||||
P2P_STATE_RX_INFOR_NOREADY = 21, // receiving p2p negoitation response with information is not available
|
P2P_STATE_RX_INFOR_NOREADY = 21, /* receiving p2p negoitation response with information is not available */
|
||||||
P2P_STATE_TX_INFOR_NOREADY = 22, // sending p2p negoitation response with information is not available
|
P2P_STATE_TX_INFOR_NOREADY = 22, /* sending p2p negoitation response with information is not available */
|
||||||
};
|
};
|
||||||
|
|
||||||
enum P2P_WPSINFO {
|
enum P2P_WPSINFO {
|
||||||
|
@ -1043,19 +1037,19 @@ enum P2P_PS_STATE {
|
||||||
P2P_PS_ENABLE = 1,
|
P2P_PS_ENABLE = 1,
|
||||||
P2P_PS_SCAN = 2,
|
P2P_PS_SCAN = 2,
|
||||||
P2P_PS_SCAN_DONE = 3,
|
P2P_PS_SCAN_DONE = 3,
|
||||||
P2P_PS_ALLSTASLEEP = 4, // for P2P GO
|
P2P_PS_ALLSTASLEEP = 4, /* for P2P GO */
|
||||||
};
|
};
|
||||||
|
|
||||||
enum P2P_PS_MODE {
|
enum P2P_PS_MODE {
|
||||||
P2P_PS_NONE = 0,
|
P2P_PS_NONE = 0,
|
||||||
P2P_PS_CTWINDOW = 1,
|
P2P_PS_CTWINDOW = 1,
|
||||||
P2P_PS_NOA = 2,
|
P2P_PS_NOA = 2,
|
||||||
P2P_PS_MIX = 3, // CTWindow and NoA
|
P2P_PS_MIX = 3, /* CTWindow and NoA */
|
||||||
};
|
};
|
||||||
#endif // CONFIG_P2P_PS
|
#endif /* CONFIG_P2P_PS */
|
||||||
|
|
||||||
// =====================WFD Section=====================
|
/* =====================WFD Section===================== */
|
||||||
// For Wi-Fi Display
|
/* For Wi-Fi Display */
|
||||||
#define WFD_ATTR_DEVICE_INFO 0x00
|
#define WFD_ATTR_DEVICE_INFO 0x00
|
||||||
#define WFD_ATTR_ASSOC_BSSID 0x01
|
#define WFD_ATTR_ASSOC_BSSID 0x01
|
||||||
#define WFD_ATTR_COUPLED_SINK_INFO 0x06
|
#define WFD_ATTR_COUPLED_SINK_INFO 0x06
|
||||||
|
@ -1063,7 +1057,7 @@ enum P2P_PS_MODE {
|
||||||
#define WFD_ATTR_SESSION_INFO 0x09
|
#define WFD_ATTR_SESSION_INFO 0x09
|
||||||
#define WFD_ATTR_ALTER_MAC 0x0a
|
#define WFD_ATTR_ALTER_MAC 0x0a
|
||||||
|
|
||||||
// For WFD Device Information Attribute
|
/* For WFD Device Information Attribute */
|
||||||
#define WFD_DEVINFO_SOURCE 0x0000
|
#define WFD_DEVINFO_SOURCE 0x0000
|
||||||
#define WFD_DEVINFO_PSINK 0x0001
|
#define WFD_DEVINFO_PSINK 0x0001
|
||||||
#define WFD_DEVINFO_SSINK 0x0002
|
#define WFD_DEVINFO_SSINK 0x0002
|
||||||
|
@ -1092,4 +1086,4 @@ enum P2P_PS_MODE {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // _WIFI_H_
|
#endif /* _WIFI_H_ */
|
||||||
|
|
|
@ -6295,9 +6295,7 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
break;
|
break;
|
||||||
case 0x03:
|
case 0x03:
|
||||||
DBG_871X("qos_option=%d\n", pmlmepriv->qospriv.qos_option);
|
DBG_871X("qos_option=%d\n", pmlmepriv->qospriv.qos_option);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
DBG_871X("ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
DBG_871X("ht_option=%d\n", pmlmepriv->htpriv.ht_option);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
break;
|
break;
|
||||||
case 0x04:
|
case 0x04:
|
||||||
DBG_871X("cur_ch=%d\n", pmlmeext->cur_channel);
|
DBG_871X("cur_ch=%d\n", pmlmeext->cur_channel);
|
||||||
|
@ -6316,12 +6314,10 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
DBG_871X("cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
DBG_871X("cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
|
||||||
DBG_871X("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
DBG_871X("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
DBG_871X("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
DBG_871X("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
DBG_871X("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
DBG_871X("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
DBG_871X("bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
DBG_871X("bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
||||||
DBG_871X("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
DBG_871X("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
DBG_871X("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
DBG_871X("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
||||||
#endif /* CONFIG_80211N_HT */
|
|
||||||
|
|
||||||
for(i=0;i<16;i++)
|
for(i=0;i<16;i++)
|
||||||
{
|
{
|
||||||
|
@ -6393,12 +6389,10 @@ static int rtw_dbg_port(struct net_device *dev,
|
||||||
DBG_871X("sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
DBG_871X("sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr));
|
||||||
DBG_871X("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
DBG_871X("rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
|
||||||
DBG_871X("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
DBG_871X("state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
DBG_871X("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
DBG_871X("qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
|
||||||
DBG_871X("bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
DBG_871X("bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
|
||||||
DBG_871X("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
DBG_871X("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
|
||||||
DBG_871X("agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
|
DBG_871X("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
|
||||||
DBG_871X("capability=0x%x\n", psta->capability);
|
DBG_871X("capability=0x%x\n", psta->capability);
|
||||||
|
@ -7422,7 +7416,6 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
@ -7437,12 +7430,8 @@ 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);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -7549,9 +7538,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;
|
||||||
memcpy(psta_data->tx_supp_rates, psta->bssrateset, psta->bssratelen);
|
memcpy(psta_data->tx_supp_rates, psta->bssrateset, psta->bssratelen);
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
memcpy(&psta_data->ht_cap, &psta->htpriv.ht_cap, sizeof(struct rtw_ieee80211_ht_cap));
|
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;
|
||||||
|
|
|
@ -109,13 +109,11 @@ static int rtw_uapsd_acbe_en = 0;
|
||||||
static int rtw_uapsd_acvi_en = 0;
|
static int rtw_uapsd_acvi_en = 0;
|
||||||
static int rtw_uapsd_acvo_en = 0;
|
static int rtw_uapsd_acvo_en = 0;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
int rtw_ht_enable = 1;
|
int rtw_ht_enable = 1;
|
||||||
int rtw_cbw40_enable = 3; /* 0 :diable, bit(0): enable 2.4g, bit(1): enable 5g */
|
int rtw_cbw40_enable = 3; /* 0 :diable, bit(0): enable 2.4g, bit(1): enable 5g */
|
||||||
int rtw_ampdu_enable = 1;/* for enable tx_ampdu */
|
int rtw_ampdu_enable = 1;/* for enable tx_ampdu */
|
||||||
static int rtw_rx_stbc = 1;/* 0: disable, bit(0):enable 2.4g, bit(1):enable 5g, default is set to enable 2.4GHZ for IOT issue with bufflao's AP at 5GHZ */
|
static int rtw_rx_stbc = 1;/* 0: disable, bit(0):enable 2.4g, bit(1):enable 5g, default is set to enable 2.4GHZ for IOT issue with bufflao's AP at 5GHZ */
|
||||||
static int rtw_ampdu_amsdu = 0;/* 0: disabled, 1:enabled, 2:auto */
|
static int rtw_ampdu_amsdu = 0;/* 0: disabled, 1:enabled, 2:auto */
|
||||||
#endif
|
|
||||||
|
|
||||||
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 */
|
||||||
|
|
||||||
|
@ -208,13 +206,11 @@ module_param(rtw_wmm_enable, int, 0644);
|
||||||
module_param(rtw_vrtl_carrier_sense, int, 0644);
|
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_cbw40_enable, int, 0644);
|
module_param(rtw_cbw40_enable, 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
|
|
||||||
|
|
||||||
module_param(rtw_lowrate_two_xmit, int, 0644);
|
module_param(rtw_lowrate_two_xmit, int, 0644);
|
||||||
|
|
||||||
|
@ -355,13 +351,11 @@ static uint loadparam( struct adapter *padapter, _nic_hdl pnetdev)
|
||||||
registry_par->uapsd_acvi_en = (u8)rtw_uapsd_acvi_en;
|
registry_par->uapsd_acvi_en = (u8)rtw_uapsd_acvi_en;
|
||||||
registry_par->uapsd_acvo_en = (u8)rtw_uapsd_acvo_en;
|
registry_par->uapsd_acvo_en = (u8)rtw_uapsd_acvo_en;
|
||||||
|
|
||||||
#ifdef CONFIG_80211N_HT
|
|
||||||
registry_par->ht_enable = (u8)rtw_ht_enable;
|
registry_par->ht_enable = (u8)rtw_ht_enable;
|
||||||
registry_par->cbw40_enable = (u8)rtw_cbw40_enable;
|
registry_par->cbw40_enable = (u8)rtw_cbw40_enable;
|
||||||
registry_par->ampdu_enable = (u8)rtw_ampdu_enable;
|
registry_par->ampdu_enable = (u8)rtw_ampdu_enable;
|
||||||
registry_par->rx_stbc = (u8)rtw_rx_stbc;
|
registry_par->rx_stbc = (u8)rtw_rx_stbc;
|
||||||
registry_par->ampdu_amsdu = (u8)rtw_ampdu_amsdu;
|
registry_par->ampdu_amsdu = (u8)rtw_ampdu_amsdu;
|
||||||
#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;
|
||||||
#endif
|
#endif
|
||||||
|
@ -804,9 +798,7 @@ u8 rtw_init_default_value(struct adapter *padapter)
|
||||||
/* pmlmepriv->qospriv.qos_option = pregistrypriv->wmm_enable; */
|
/* pmlmepriv->qospriv.qos_option = pregistrypriv->wmm_enable; */
|
||||||
|
|
||||||
/* 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
|
|
||||||
|
|
||||||
/* security_priv */
|
/* security_priv */
|
||||||
/* rtw_get_encrypt_decrypt_from_registrypriv(padapter); */
|
/* rtw_get_encrypt_decrypt_from_registrypriv(padapter); */
|
||||||
|
|
|
@ -525,14 +525,12 @@ 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_cbw40_enable = 0;
|
rtw_cbw40_enable = 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. */
|
||||||
|
|
Loading…
Reference in a new issue