net: wireless: rockchip_wlan: add rtl8188eu support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8188eu / core / rtw_ioctl_set.c
old mode 100755 (executable)
new mode 100644 (file)
index c8ad426..7ba82cf
@@ -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;
                                }
@@ -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;
@@ -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;
@@ -735,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;
@@ -999,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;
@@ -1255,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;
                        
@@ -1431,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);
 }
 
 /*
@@ -1443,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
 }
 
 /*
@@ -1472,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);