mirror of
https://github.com/Mange/rtl8192eu-linux-driver
synced 2025-12-10 00:04:17 +00:00
Updated to 4.4.1
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#define _RTW_IOCTL_SET_C_
|
||||
|
||||
#include <drv_types.h>
|
||||
#include <hal_data.h>
|
||||
|
||||
|
||||
extern void indicate_wx_scan_complete_event(_adapter *padapter);
|
||||
@@ -159,9 +160,8 @@ _func_enter_;
|
||||
|
||||
rtw_generate_random_ibss(pibss);
|
||||
|
||||
if(rtw_createbss_cmd(padapter)!=_SUCCESS)
|
||||
{
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("***Error=>do_goin: rtw_createbss_cmd status FAIL*** \n "));
|
||||
if (rtw_create_ibss_cmd(padapter, 0) != _SUCCESS) {
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_, _drv_err_, ("***Error=>do_goin: rtw_create_ibss_cmd status FAIL***\n"));
|
||||
ret = _FALSE;
|
||||
goto exit;
|
||||
}
|
||||
@@ -361,7 +361,7 @@ _func_enter_;
|
||||
rtw_disassoc_cmd(padapter, 0, _TRUE);
|
||||
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
rtw_indicate_disconnect(padapter);
|
||||
rtw_indicate_disconnect(padapter, 0, _FALSE);
|
||||
|
||||
rtw_free_assoc_resources(padapter, 1);
|
||||
|
||||
@@ -415,7 +415,7 @@ _func_enter_;
|
||||
DBG_871X_LEVEL(_drv_always_, "set ssid [%s] fw_state=0x%08x\n",
|
||||
ssid->Ssid, get_fwstate(pmlmepriv));
|
||||
|
||||
if(padapter->hw_init_completed==_FALSE){
|
||||
if (!rtw_is_hw_init_completed(padapter)) {
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_, _drv_err_,
|
||||
("set_ssid: hw_init_completed==_FALSE=>exit!!!\n"));
|
||||
status = _FAIL;
|
||||
@@ -451,7 +451,7 @@ _func_enter_;
|
||||
rtw_disassoc_cmd(padapter, 0, _TRUE);
|
||||
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
rtw_indicate_disconnect(padapter);
|
||||
rtw_indicate_disconnect(padapter, 0, _FALSE);
|
||||
|
||||
rtw_free_assoc_resources(padapter, 1);
|
||||
|
||||
@@ -480,7 +480,7 @@ _func_enter_;
|
||||
rtw_disassoc_cmd(padapter, 0, _TRUE);
|
||||
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
rtw_indicate_disconnect(padapter);
|
||||
rtw_indicate_disconnect(padapter, 0, _FALSE);
|
||||
|
||||
rtw_free_assoc_resources(padapter, 1);
|
||||
|
||||
@@ -549,7 +549,7 @@ _func_enter_;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if(padapter->hw_init_completed==_FALSE){
|
||||
if (!rtw_is_hw_init_completed(padapter)) {
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_, _drv_err_,
|
||||
("set_ssid: hw_init_completed==_FALSE=>exit!!!\n"));
|
||||
status = _FAIL;
|
||||
@@ -644,7 +644,7 @@ _func_enter_;
|
||||
{
|
||||
if(check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
{
|
||||
rtw_indicate_disconnect(padapter); //will clr Linked_state; before this function, we must have chked whether issue dis-assoc_cmd or not
|
||||
rtw_indicate_disconnect(padapter, 0, _FALSE); /*will clr Linked_state; before this function, we must have checked whether issue dis-assoc_cmd or not*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -673,7 +673,10 @@ _func_enter_;
|
||||
|
||||
case Ndis802_11AutoUnknown:
|
||||
case Ndis802_11InfrastructureMax:
|
||||
break;
|
||||
break;
|
||||
case Ndis802_11Monitor:
|
||||
set_fwstate(pmlmepriv, WIFI_MONITOR_STATE);
|
||||
break;
|
||||
}
|
||||
|
||||
//SecClearAllKeys(adapter);
|
||||
@@ -704,7 +707,7 @@ _func_enter_;
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_info_,("MgntActrtw_set_802_11_disassociate: rtw_indicate_disconnect\n"));
|
||||
|
||||
rtw_disassoc_cmd(padapter, 0, _TRUE);
|
||||
rtw_indicate_disconnect(padapter);
|
||||
rtw_indicate_disconnect(padapter, 0, _FALSE);
|
||||
//modify for CONFIG_IEEE80211W, none 11w can use it
|
||||
rtw_free_assoc_resources_cmd(padapter);
|
||||
if (_FAIL == rtw_pwr_wakeup(padapter))
|
||||
@@ -732,7 +735,7 @@ _func_enter_;
|
||||
res=_FALSE;
|
||||
goto exit;
|
||||
}
|
||||
if (padapter->hw_init_completed==_FALSE){
|
||||
if (!rtw_is_hw_init_completed(padapter)) {
|
||||
res = _FALSE;
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("\n===rtw_set_802_11_bssid_list_scan:hw_init_completed==_FALSE===\n"));
|
||||
goto exit;
|
||||
@@ -996,8 +999,8 @@ _func_enter_;
|
||||
}
|
||||
}
|
||||
|
||||
// Check key length for WEP. For NDTEST, 2005.01.27, by rcnjko.
|
||||
if( (encryptionalgo== _WEP40_|| encryptionalgo== _WEP104_) && (key->KeyLength != 5 || key->KeyLength != 13)) {
|
||||
/* Check key length for WEP. For NDTEST, 2005.01.27, by rcnjko. -> modify checking condition*/
|
||||
if (((encryptionalgo == _WEP40_) && (key->KeyLength != 5)) || ((encryptionalgo == _WEP104_) && (key->KeyLength != 13))) {
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("WEP KeyLength:0x%x != 5 or 13\n", key->KeyLength));
|
||||
ret=_FAIL;
|
||||
goto exit;
|
||||
@@ -1252,16 +1255,22 @@ _func_enter_;
|
||||
|
||||
|
||||
//Set key to CAM through H2C command
|
||||
#if 0
|
||||
if(bgrouptkey)//never go to here
|
||||
{
|
||||
res=rtw_setstakey_cmd(padapter, stainfo, _FALSE, _TRUE);
|
||||
res=rtw_setstakey_cmd(padapter, stainfo, GROUP_KEY, _TRUE);
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("\n rtw_set_802_11_add_key:rtw_setstakey_cmd(group)\n"));
|
||||
}
|
||||
else{
|
||||
res=rtw_setstakey_cmd(padapter, stainfo, _TRUE, _TRUE);
|
||||
res=rtw_setstakey_cmd(padapter, stainfo, UNICAST_KEY, _TRUE);
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("\n rtw_set_802_11_add_key:rtw_setstakey_cmd(unicast)\n"));
|
||||
}
|
||||
#else
|
||||
|
||||
res = rtw_setstakey_cmd(padapter, stainfo, UNICAST_KEY, _TRUE);
|
||||
RT_TRACE(_module_rtl871x_ioctl_set_c_, _drv_err_, ("\n rtw_set_802_11_add_key:rtw_setstakey_cmd(unicast)\n"));
|
||||
#endif
|
||||
|
||||
if(res ==_FALSE)
|
||||
ret= _FAIL;
|
||||
|
||||
@@ -1428,7 +1437,7 @@ int rtw_set_channel_plan(_adapter *adapter, u8 channel_plan)
|
||||
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
||||
|
||||
//handle by cmd_thread to sync with scan operation
|
||||
return rtw_set_chplan_cmd(adapter, channel_plan, 1, 1);
|
||||
return rtw_set_chplan_cmd(adapter, RTW_CMDF_WAIT_ACK, channel_plan, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1440,26 +1449,11 @@ int rtw_set_channel_plan(_adapter *adapter, u8 channel_plan)
|
||||
*/
|
||||
int rtw_set_country(_adapter *adapter, const char *country_code)
|
||||
{
|
||||
int channel_plan = RT_CHANNEL_DOMAIN_WORLD_WIDE_5G;
|
||||
|
||||
DBG_871X("%s country_code:%s\n", __func__, country_code);
|
||||
|
||||
//TODO: should have a table to match country code and RT_CHANNEL_DOMAIN
|
||||
//TODO: should consider 2-character and 3-character country code
|
||||
if(0 == strcmp(country_code, "US"))
|
||||
channel_plan = RT_CHANNEL_DOMAIN_FCC;
|
||||
else if(0 == strcmp(country_code, "EU"))
|
||||
channel_plan = RT_CHANNEL_DOMAIN_ETSI;
|
||||
else if(0 == strcmp(country_code, "JP"))
|
||||
channel_plan = RT_CHANNEL_DOMAIN_MKK;
|
||||
else if(0 == strcmp(country_code, "CN"))
|
||||
channel_plan = RT_CHANNEL_DOMAIN_CHINA;
|
||||
else if(0 == strcmp(country_code, "IN"))
|
||||
channel_plan = RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN;
|
||||
else
|
||||
DBG_871X("%s unknown country_code:%s\n", __FUNCTION__, country_code);
|
||||
|
||||
return rtw_set_channel_plan(adapter, channel_plan);
|
||||
#ifdef CONFIG_RTW_IOCTL_SET_COUNTRY
|
||||
return rtw_set_country_cmd(adapter, RTW_CMDF_WAIT_ACK, country_code, 1);
|
||||
#else
|
||||
return _FAIL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1469,7 +1463,7 @@ int rtw_set_country(_adapter *adapter, const char *country_code)
|
||||
*
|
||||
* Return _SUCCESS or _FAIL
|
||||
*/
|
||||
int rtw_set_band(_adapter *adapter, enum _BAND band)
|
||||
int rtw_set_band(_adapter *adapter, u8 band)
|
||||
{
|
||||
if (rtw_band_valid(band)) {
|
||||
DBG_871X(FUNC_ADPT_FMT" band:%d\n", FUNC_ADPT_ARG(adapter), band);
|
||||
|
||||
Reference in New Issue
Block a user