diff --git a/core/rtw_br_ext.c b/core/rtw_br_ext.c index 29d1d4e..bc1a62b 100755 --- a/core/rtw_br_ext.c +++ b/core/rtw_br_ext.c @@ -1542,9 +1542,9 @@ int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb) } } else { - if (((*((unsigned short *)(skb->data+ETH_ALEN*2)) == __constant_htons(ETH_P_IP)) && + if (((*((__be16 *)(skb->data+ETH_ALEN*2)) == __constant_htons(ETH_P_IP)) && !memcmp(priv->br_ip, skb->data+ETH_HLEN+16, 4)) || - ((*((unsigned short *)(skb->data+ETH_ALEN*2)) == __constant_htons(ETH_P_ARP)) && + ((*((__be16 *)(skb->data+ETH_ALEN*2)) == __constant_htons(ETH_P_ARP)) && !memcmp(priv->br_ip, skb->data+ETH_HLEN+24, 4))) { // for traffic to upper TCP/IP retval = nat25_db_handle(priv, skb, NAT25_LOOKUP); @@ -1554,9 +1554,9 @@ int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb) if (is_vlan_tag) { skb_push(skb, 4); for (i=0; i<6; i++) - *((unsigned short *)(skb->data+i*2)) = *((unsigned short *)(skb->data+4+i*2)); - *((unsigned short *)(skb->data+ETH_ALEN*2)) = __constant_htons(ETH_P_8021Q); - *((unsigned short *)(skb->data+ETH_ALEN*2+2)) = vlan_hdr; + *((__be16 *)(skb->data+i*2)) = *((unsigned short *)(skb->data+4+i*2)); + *((__be16 *)(skb->data+ETH_ALEN*2)) = __constant_htons(ETH_P_8021Q); + *((__be16 *)(skb->data+ETH_ALEN*2+2)) = vlan_hdr; } if(retval == -1) { diff --git a/core/rtw_led.c b/core/rtw_led.c index 9d4b730..f82409d 100755 --- a/core/rtw_led.c +++ b/core/rtw_led.c @@ -120,9 +120,6 @@ DeInitLed871x( // It toggle off LED and schedule corresponding timer if necessary. // -void SwLedOn(struct adapter *padapter, PLED_871x pLed); -void SwLedOff(struct adapter *padapter, PLED_871x pLed); - #define CONFIG_LED_REMOVE_HAL void diff --git a/core/rtw_mlme.c b/core/rtw_mlme.c index 614f4d0..5b8d128 100755 --- a/core/rtw_mlme.c +++ b/core/rtw_mlme.c @@ -459,12 +459,9 @@ u8 *rtw_get_capability_from_ie(u8 *ie) u16 rtw_get_capability(WLAN_BSSID_EX *bss) { - u16 val; -; + __le16 val; _rtw_memcpy((u8 *)&val, rtw_get_capability_from_ie(bss->IEs), 2); - -; return le16_to_cpu(val); } @@ -588,7 +585,6 @@ int rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork) } -inline int is_same_ess(WLAN_BSSID_EX *a, WLAN_BSSID_EX *b); inline int is_same_ess(WLAN_BSSID_EX *a, WLAN_BSSID_EX *b) { //RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("(%s,%d)(%s,%d)\n", @@ -599,33 +595,15 @@ inline int is_same_ess(WLAN_BSSID_EX *a, WLAN_BSSID_EX *b) int is_same_network(WLAN_BSSID_EX *src, WLAN_BSSID_EX *dst, u8 feature) { + __le16 ls_cap, ld_cap; u16 s_cap, d_cap; -; - -#ifdef PLATFORM_OS_XP - if ( ((uint)dst) <= 0x7fffffff || - ((uint)src) <= 0x7fffffff || - ((uint)&s_cap) <= 0x7fffffff || - ((uint)&d_cap) <= 0x7fffffff) - { - RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("\n@@@@ error address of dst\n")); - - KeBugCheckEx(0x87110000, (ULONG_PTR)dst, (ULONG_PTR)src,(ULONG_PTR)&s_cap, (ULONG_PTR)&d_cap); - - return false; - } -#endif + _rtw_memcpy((u8 *)&ls_cap, rtw_get_capability_from_ie(src->IEs), 2); + _rtw_memcpy((u8 *)&ld_cap, rtw_get_capability_from_ie(dst->IEs), 2); - _rtw_memcpy((u8 *)&s_cap, rtw_get_capability_from_ie(src->IEs), 2); - _rtw_memcpy((u8 *)&d_cap, rtw_get_capability_from_ie(dst->IEs), 2); - - - s_cap = le16_to_cpu(s_cap); - d_cap = le16_to_cpu(d_cap); - -; + s_cap = le16_to_cpu(ls_cap); + d_cap = le16_to_cpu(ld_cap); #ifdef CONFIG_P2P if ((feature == 1) && // 1: P2P supported @@ -1324,21 +1302,18 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("tgt_network->network.MacAddress="MAC_FMT" ssid=%s\n", MAC_ARG(tgt_network->network.MacAddress), tgt_network->network.Ssid.Ssid)); - if(check_fwstate( pmlmepriv, WIFI_STATION_STATE|WIFI_AP_STATE)) - { + if(check_fwstate( pmlmepriv, WIFI_STATION_STATE|WIFI_AP_STATE)) { struct sta_info* psta; psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.MacAddress); #ifdef CONFIG_TDLS - if(ptdlsinfo->setup_state != TDLS_STATE_NONE) - { + if(ptdlsinfo->setup_state != TDLS_STATE_NONE) { rtw_tdls_cmd(adapter, myid(&(adapter->eeprompriv)), TDLS_RS_RCR); rtw_reset_tdls_info(adapter); rtw_free_all_stainfo(adapter); _enter_critical_bh(&(pstapriv->sta_hash_lock), &irqL); - } - else + } else #endif //CONFIG_TDLS { _enter_critical_bh(&(pstapriv->sta_hash_lock), &irqL); @@ -1367,12 +1342,10 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) _enter_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.MacAddress); - if(pwlan) - { + if(pwlan) { pwlan->fixed = false; #ifdef CONFIG_P2P - if(!rtw_p2p_chk_state(&adapter->wdinfo, P2P_STATE_NONE)) - { + if(!rtw_p2p_chk_state(&adapter->wdinfo, P2P_STATE_NONE)) { u32 p2p_ielen=0; u8 *p2p_ie; //u16 capability; @@ -1385,8 +1358,7 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) if((p2p_ie=rtw_get_p2p_ie(pwlan->network.IEs+_FIXED_IE_LENGTH_, pwlan->network.IELength-_FIXED_IE_LENGTH_, NULL, &p2p_ielen))) { pcap = rtw_get_p2p_attr_content(p2p_ie, p2p_ielen, P2P_ATTR_CAPABILITY, NULL, &capability_len); - if(pcap && capability_len==2) - { + if(pcap && capability_len==2) { u16 cap = *(u16*)pcap ; *(u16*)pcap = cap&0x00ff;//clear group capability when free this network } @@ -1396,9 +1368,7 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) //rtw_clear_scan_deny(adapter); } #endif //CONFIG_P2P - } - else - { + } else { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("rtw_free_assoc_resources : pwlan== NULL \n\n")); } @@ -1413,9 +1383,6 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); adapter->securitypriv.key_mask = 0; - -; - } /* @@ -1778,27 +1745,20 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL; unsigned int the_same_macaddr = false; -; - RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("joinbss event call back received with res=%d\n", pnetwork->join_res)); rtw_get_encrypt_decrypt_from_registrypriv(adapter); if (pmlmepriv->assoc_ssid.SsidLength == 0) - { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("@@@@@ joinbss event call back for Any SSid\n")); - } else - { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("@@@@@ rtw_joinbss_event_callback for SSid:%s\n", pmlmepriv->assoc_ssid.Ssid)); - } the_same_macaddr = _rtw_memcmp(pnetwork->network.MacAddress, cur_network->network.MacAddress, ETH_ALEN); pnetwork->network.Length = get_WLAN_BSSID_EX_sz(&pnetwork->network); - if(pnetwork->network.Length > sizeof(WLAN_BSSID_EX)) - { + if(pnetwork->network.Length > sizeof(WLAN_BSSID_EX)) { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("\n\n ***joinbss_evt_callback return a wrong bss ***\n\n")); goto ignore_joinbss_callback; } @@ -1807,23 +1767,18 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("\n rtw_joinbss_event_callback !! _enter_critical \n")); - if(pnetwork->join_res > 0) - { + if(pnetwork->join_res > 0) { _enter_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); retry = 0; - if (check_fwstate(pmlmepriv,_FW_UNDER_LINKING) ) - { + if (check_fwstate(pmlmepriv,_FW_UNDER_LINKING) ) { //s1. find ptarget_wlan - if(check_fwstate(pmlmepriv, _FW_LINKED) ) - { - if(the_same_macaddr == true) - { + if(check_fwstate(pmlmepriv, _FW_LINKED) ) { + if(the_same_macaddr == true) { ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.MacAddress); - } - else - { + } else { pcur_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.MacAddress); - if(pcur_wlan) pcur_wlan->fixed = false; + if(pcur_wlan) + pcur_wlan->fixed = false; pcur_sta = rtw_get_stainfo(pstapriv, cur_network->network.MacAddress); if(pcur_sta){ @@ -1833,116 +1788,84 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) } ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->network.MacAddress); - if(check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true){ - if(ptarget_wlan) ptarget_wlan->fixed = true; + if(check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if(ptarget_wlan) + ptarget_wlan->fixed = true; } } - - } - else - { + } else { ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->network.MacAddress); - if(check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true){ - if(ptarget_wlan) ptarget_wlan->fixed = true; + if(check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if(ptarget_wlan) + ptarget_wlan->fixed = true; } } //s2. update cur_network - if(ptarget_wlan) - { + if(ptarget_wlan) { rtw_joinbss_update_network(adapter, ptarget_wlan, pnetwork); - } - else - { + } else { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Can't find ptarget_wlan when joinbss_event callback\n")); _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); - goto ignore_joinbss_callback; + goto exit_unlock; } //s3. find ptarget_sta & update ptarget_sta after update cur_network only for station mode - if(check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true) - { + if(check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { ptarget_sta = rtw_joinbss_update_stainfo(adapter, pnetwork); - if(ptarget_sta==NULL) - { + if(ptarget_sta==NULL) { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Can't update stainfo when joinbss_event callback\n")); _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); - goto ignore_joinbss_callback; + goto exit_unlock; } } //s4. indicate connect - if(check_fwstate(pmlmepriv, WIFI_STATION_STATE) == true) - { + if(check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { pmlmepriv->cur_network_scanned = ptarget_wlan; rtw_indicate_connect(adapter); - } - else - { + } else { //adhoc mode will rtw_indicate_connect when rtw_stassoc_event_callback RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("adhoc mode, fw_state:%x", get_fwstate(pmlmepriv))); } - //s5. Cancle assoc_timer _cancel_timer(&pmlmepriv->assoc_timer, &timer_cancelled); RT_TRACE(_module_rtl871x_mlme_c_,_drv_info_,("Cancle assoc_timer \n")); - - } - else - { + } else { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("rtw_joinbss_event_callback err: fw_state:%x", get_fwstate(pmlmepriv))); _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); - goto ignore_joinbss_callback; + goto exit_unlock; } - _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL); - - } - else if(pnetwork->join_res == -4) - { + } else if(pnetwork->join_res == -4) { rtw_reset_securitypriv(adapter); _set_timer(&pmlmepriv->assoc_timer, 1); - //rtw_free_assoc_resources(adapter, 1); - - if((check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) == true) - { + if((check_fwstate(pmlmepriv, _FW_UNDER_LINKING))) { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("fail! clear _FW_UNDER_LINKING ^^^fw_state=%x\n", get_fwstate(pmlmepriv))); _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); } - - } - else //if join_res < 0 (join fails), then try again - { - + } else { //if join_res < 0 (join fails), then try again #ifdef REJOIN res = _FAIL; if(retry < 2) { res = rtw_select_and_join_from_scanned_queue(pmlmepriv); RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("rtw_select_and_join_from_scanned_queue again! res:%d\n",res)); } - - if(res == _SUCCESS) - { + if(res == _SUCCESS) { //extend time of assoc_timer _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT); retry++; - } - else if(res == 2)//there is no need to wait for join - { + } else if(res == 2) { //there is no need to wait for join _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); rtw_indicate_connect(adapter); - } - else - { + } else { RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Set Assoc_Timer = 1; can't find match ssid in scanned_q \n")); #endif - _set_timer(&pmlmepriv->assoc_timer, 1); - //rtw_free_assoc_resources(adapter, 1); _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); #ifdef REJOIN @@ -1950,11 +1873,10 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) } #endif } - -ignore_joinbss_callback: - +exit_unlock: _exit_critical_bh(&pmlmepriv->lock, &irqL); - ; +ignore_joinbss_callback: + return; } void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf) @@ -1978,7 +1900,7 @@ void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf) ; } -u8 search_max_mac_id(struct adapter *padapter) +static u8 search_max_mac_id(struct adapter *padapter) { u8 mac_id, aid; #if (RATE_ADAPTIVE_SUPPORT==1) //for 88E RA @@ -2672,20 +2594,27 @@ static int rtw_check_join_candidate(struct mlme_priv *pmlmepriv } if(updated){ +#ifdef CONFIG_LAYER2_ROAMING DBG_871X("[by_bssid:%u][assoc_ssid:%s]" - #ifdef CONFIG_LAYER2_ROAMING "[to_roaming:%u] " - #endif "new candidate: %s("MAC_FMT") rssi:%d\n", pmlmepriv->assoc_by_bssid, pmlmepriv->assoc_ssid.Ssid, - #ifdef CONFIG_LAYER2_ROAMING rtw_to_roaming(adapter), - #endif (*candidate)->network.Ssid.Ssid, MAC_ARG((*candidate)->network.MacAddress), (int)(*candidate)->network.Rssi ); +#else + DBG_871X("[by_bssid:%u][assoc_ssid:%s]" + "new candidate: %s("MAC_FMT") rssi:%d\n", + pmlmepriv->assoc_by_bssid, + pmlmepriv->assoc_ssid.Ssid, + (*candidate)->network.Ssid.Ssid, + MAC_ARG((*candidate)->network.MacAddress), + (int)(*candidate)->network.Rssi + ); +#endif } exit: @@ -3286,9 +3215,9 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ _rtw_memset(&ht_capie, 0, sizeof(struct rtw_ieee80211_ht_cap)); - ht_capie.cap_info = IEEE80211_HT_CAP_SUP_WIDTH |IEEE80211_HT_CAP_SGI_20 | - IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_TX_STBC | - IEEE80211_HT_CAP_DSSSCCK40; + ht_capie.cap_info = cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH |IEEE80211_HT_CAP_SGI_20 | + IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_TX_STBC | + IEEE80211_HT_CAP_DSSSCCK40); { @@ -3394,7 +3323,7 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len) //update cur_bwmode & cur_ch_offset if ((pregistrypriv->cbw40_enable) && - (pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info & BIT(1)) && + (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & BIT(1)) && (pmlmeinfo->HT_info.infos[0] & BIT(2))) { int i; @@ -3449,9 +3378,8 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len) // // Config SM Power Save setting // - pmlmeinfo->SM_PS = (pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info & 0x0C) >> 2; - if(pmlmeinfo->SM_PS == WLAN_HT_CAP_SM_PS_STATIC) - { + pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2; + if(pmlmeinfo->SM_PS == WLAN_HT_CAP_SM_PS_STATIC) { /*u8 i; //update the MCS rates for (i = 0; i < 16; i++) diff --git a/core/rtw_odm.c b/core/rtw_odm.c index ecfd6ae..085a263 100755 --- a/core/rtw_odm.c +++ b/core/rtw_odm.c @@ -21,7 +21,7 @@ #include #include -const char *odm_comp_str[] = { +static const char *odm_comp_str[] = { "ODM_COMP_DIG", "ODM_COMP_RA_MASK", "ODM_COMP_DYNAMIC_TXPWR", @@ -58,7 +58,7 @@ const char *odm_comp_str[] = { #define RTW_ODM_COMP_MAX 32 -const char *odm_ability_str[] = { +static const char *odm_ability_str[] = { "ODM_BB_DIG", "ODM_BB_RA_MASK", "ODM_BB_DYNAMIC_TXPWR", @@ -90,7 +90,7 @@ const char *odm_ability_str[] = { #define RTW_ODM_ABILITY_MAX 27 -const char *odm_dbg_level_str[] = { +static const char *odm_dbg_level_str[] = { NULL, "ODM_DBG_OFF", "ODM_DBG_SERIOUS", diff --git a/core/rtw_sreset.c b/core/rtw_sreset.c index d0e6f50..d6bd0d1 100755 --- a/core/rtw_sreset.c +++ b/core/rtw_sreset.c @@ -110,7 +110,7 @@ bool sreset_inprogress(struct adapter *padapter) #endif } -void sreset_restore_security_station(struct adapter *padapter) +static void sreset_restore_security_station(struct adapter *padapter) { u8 EntryId = 0; struct mlme_priv *mlmepriv = &padapter->mlmepriv; @@ -152,7 +152,7 @@ void sreset_restore_security_station(struct adapter *padapter) } } -void sreset_restore_network_station(struct adapter *padapter) +static void sreset_restore_network_station(struct adapter *padapter) { struct mlme_priv *mlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; @@ -198,7 +198,7 @@ void sreset_restore_network_station(struct adapter *padapter) } -void sreset_restore_network_status(struct adapter *padapter) +static void sreset_restore_network_status(struct adapter *padapter) { struct mlme_priv *mlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; @@ -217,7 +217,7 @@ void sreset_restore_network_status(struct adapter *padapter) } } -void sreset_stop_adapter(struct adapter *padapter) +static void sreset_stop_adapter(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); struct xmit_priv *pxmitpriv = &padapter->xmitpriv; @@ -246,7 +246,7 @@ void sreset_stop_adapter(struct adapter *padapter) } -void sreset_start_adapter(struct adapter *padapter) +static void sreset_start_adapter(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); struct xmit_priv *pxmitpriv = &padapter->xmitpriv; diff --git a/core/rtw_sta_mgt.c b/core/rtw_sta_mgt.c index 3e16120..e5fdc1e 100755 --- a/core/rtw_sta_mgt.c +++ b/core/rtw_sta_mgt.c @@ -341,27 +341,18 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) int i = 0; u16 wRxSeqInitialValue = 0xffff; -; - pfree_sta_queue = &pstapriv->free_sta_queue; - //_enter_critical_bh(&(pfree_sta_queue->lock), &irqL); _enter_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); - if (_rtw_queue_empty(pfree_sta_queue) == true) - { - //_exit_critical_bh(&(pfree_sta_queue->lock), &irqL); - _exit_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); + if (_rtw_queue_empty(pfree_sta_queue) == true) { +// _exit_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); psta = NULL; - } - else - { + } else { psta = LIST_CONTAINOR(get_next(&pfree_sta_queue->queue), struct sta_info, list); rtw_list_delete(&(psta->list)); - //_exit_critical_bh(&(pfree_sta_queue->lock), &irqL); - tmp_aid = psta->aid; _rtw_init_stainfo(psta); @@ -381,23 +372,17 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) } phash_list = &(pstapriv->sta_hash[index]); - //_enter_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); - rtw_list_insert_tail(&psta->hash_list, phash_list); pstapriv->asoc_sta_count ++ ; - //_exit_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); - // Commented by Albert 2009/08/13 // For the SMC router, the sequence number of first packet of WPS handshake will be 0. // In this case, this packet will be dropped by recv_decache function if we use the 0x00 as the default value for tid_rxseq variable. // So, we initialize the tid_rxseq variable as the 0xffff. for( i = 0; i < 16; i++ ) - { _rtw_memcpy( &psta->sta_recvpriv.rxcache.tid_rxseq[ i ], &wRxSeqInitialValue, 2 ); - } RT_TRACE(_module_rtl871x_sta_mgt_c_,_drv_info_,("alloc number_%d stainfo with hwaddr = %x %x %x %x %x %x \n", pstapriv->asoc_sta_count , hwaddr[0], hwaddr[1], hwaddr[2],hwaddr[3],hwaddr[4],hwaddr[5])); @@ -415,8 +400,7 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) #endif //CONFIG_TDLS //for A-MPDU Rx reordering buffer control - for(i=0; i < 16 ; i++) - { + for(i=0; i < 16 ; i++) { preorder_ctrl = &psta->recvreorder_ctrl[i]; preorder_ctrl->padapter = pstapriv->padapter; @@ -447,16 +431,9 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) /* init for the sequence number of received management frame */ psta->RxMgmtFrameSeqNum = 0xffff; } - exit: - _exit_critical_bh(&(pstapriv->sta_hash_lock), &irqL2); - -; - return psta; - - } diff --git a/hal/HalHWImg8188E_BB.c b/hal/HalHWImg8188E_BB.c index 7311183..356bfbc 100755 --- a/hal/HalHWImg8188E_BB.c +++ b/hal/HalHWImg8188E_BB.c @@ -59,7 +59,7 @@ CheckCondition( * AGC_TAB_1T.TXT ******************************************************************************/ -u32 Array_AGC_TAB_1T_8188E[] = { +static u32 Array_AGC_TAB_1T_8188E[] = { 0xFF0F0718, 0xABCD, 0xC78, 0xF7000001, 0xC78, 0xF6010001, @@ -463,7 +463,7 @@ ODM_ReadAndConfig_AGC_TAB_1T_8188E( * AGC_TAB_1T_ICUT.TXT ******************************************************************************/ -u32 Array_MP_8188E_AGC_TAB_1T_ICUT[] = { +static u32 Array_MP_8188E_AGC_TAB_1T_ICUT[] = { 0xC78, 0xFB000001, 0xC78, 0xFB010001, 0xC78, 0xFB020001, @@ -671,7 +671,7 @@ ODM_ReadAndConfig_AGC_TAB_1T_ICUT_8188E( * PHY_REG_1T.TXT ******************************************************************************/ -u32 Array_PHY_REG_1T_8188E[] = { +static u32 Array_PHY_REG_1T_8188E[] = { 0x800, 0x80040000, 0x804, 0x00000003, 0x808, 0x0000FC00, @@ -1103,7 +1103,7 @@ ODM_ReadAndConfig_PHY_REG_1T_8188E( * PHY_REG_1T_ICUT.TXT ******************************************************************************/ -u32 Array_MP_8188E_PHY_REG_1T_ICUT[] = { +static u32 Array_MP_8188E_PHY_REG_1T_ICUT[] = { 0x800, 0x80040000, 0x804, 0x00000003, 0x808, 0x0000FC00, @@ -1373,7 +1373,7 @@ ODM_ReadAndConfig_PHY_REG_1T_ICUT_8188E( * PHY_REG_PG.TXT ******************************************************************************/ -u32 Array_PHY_REG_PG_8188E[] = { +static u32 Array_PHY_REG_PG_8188E[] = { 0, 0, 0, 0x00000e08, 0x0000ff00, 0x00004000, 0, 0, 0, 0x0000086c, 0xffffff00, 0x34363800, 0, 0, 0, 0x00000e00, 0xffffffff, 0x42444646, diff --git a/hal/HalHWImg8188E_MAC.c b/hal/HalHWImg8188E_MAC.c index 613242e..f7a7d1a 100755 --- a/hal/HalHWImg8188E_MAC.c +++ b/hal/HalHWImg8188E_MAC.c @@ -57,7 +57,7 @@ CheckCondition( * MAC_REG.TXT ******************************************************************************/ -u32 Array_MAC_REG_8188E[] = { +static u32 Array_MAC_REG_8188E[] = { 0x026, 0x00000041, 0x027, 0x00000035, 0xFF0F0718, 0xABCD, @@ -333,7 +333,7 @@ ODM_ReadAndConfig_MAC_REG_8188E( * MAC_REG_ICUT.TXT ******************************************************************************/ -u32 Array_MP_8188E_MAC_REG_ICUT[] = { +static u32 Array_MP_8188E_MAC_REG_ICUT[] = { 0x026, 0x00000041, 0x027, 0x00000035, 0x428, 0x0000000A, diff --git a/hal/HalHWImg8188E_RF.c b/hal/HalHWImg8188E_RF.c index 9cb989f..71e74f3 100755 --- a/hal/HalHWImg8188E_RF.c +++ b/hal/HalHWImg8188E_RF.c @@ -59,7 +59,7 @@ CheckCondition( * RadioA_1T.TXT ******************************************************************************/ -u32 Array_RadioA_1T_8188E[] = { +static u32 Array_RadioA_1T_8188E[] = { 0x000, 0x00030000, 0x008, 0x00084000, 0x018, 0x00000407, @@ -390,7 +390,7 @@ ODM_ReadAndConfig_RadioA_1T_8188E( * RadioA_1T_ICUT.TXT ******************************************************************************/ -u32 Array_MP_8188E_RadioA_1T_ICUT[] = { +static u32 Array_MP_8188E_RadioA_1T_ICUT[] = { 0x000, 0x00030000, 0x008, 0x00084000, 0x018, 0x00000407, diff --git a/hal/HalPhyRf_8188e.c b/hal/HalPhyRf_8188e.c index af3b2f7..d7b888b 100755 --- a/hal/HalPhyRf_8188e.c +++ b/hal/HalPhyRf_8188e.c @@ -45,7 +45,7 @@ //3============================================================ //3 Tx Power Tracking //3============================================================ -void setIqkMatrix( +static void setIqkMatrix( PDM_ODM_T pDM_Odm, u8 OFDM_index, u8 RFPath, @@ -131,7 +131,7 @@ void setIqkMatrix( } -void doIQK( +static void doIQK( PDM_ODM_T pDM_Odm, u8 DeltaThermalIndex, u8 ThermalValue, @@ -248,7 +248,7 @@ ODM_TxPwrTrackAdjust88E( * 04/23/2012 MHC Create Version 0. * *---------------------------------------------------------------------------*/ -void +static void odm_TxPwrTrackSetPwr88E( PDM_ODM_T pDM_Odm, PWRTRACK_METHOD Method, @@ -566,7 +566,7 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E( #define MAX_TOLERANCE 5 #define IQK_DELAY_TIME 1 //ms -u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK +static u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK phy_PathA_IQK_8188E( IN struct adapter *pAdapter, IN BOOLEAN configPathB @@ -619,7 +619,7 @@ phy_PathA_IQK_8188E( return result; } -u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK +static u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK phy_PathA_RxIQK( IN struct adapter *pAdapter, IN BOOLEAN configPathB @@ -756,7 +756,7 @@ phy_PathA_RxIQK( return result; } -u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK +static u8 //bit0 = 1 => Tx OK, bit1 = 1 => Rx OK phy_PathB_IQK_8188E( IN struct adapter *pAdapter ) @@ -808,7 +808,7 @@ phy_PathB_IQK_8188E( } -void +static void _PHY_PathAFillIQKMatrix( IN struct adapter *pAdapter, IN BOOLEAN bIQKOK, @@ -868,7 +868,7 @@ _PHY_PathAFillIQKMatrix( } } -void +static void _PHY_PathBFillIQKMatrix( IN struct adapter *pAdapter, IN BOOLEAN bIQKOK, @@ -928,7 +928,7 @@ _PHY_PathBFillIQKMatrix( // 2011/07/26 MH Add an API for testing IQK fail case. // // MP Already declare in odm.c -BOOLEAN +static BOOLEAN ODM_CheckPowerStatus( IN struct adapter * Adapter) { @@ -956,7 +956,7 @@ _PHY_SaveADDARegisters( } -void +static void _PHY_SaveMACRegisters( IN struct adapter *pAdapter, IN u32 * MACReg, @@ -976,7 +976,7 @@ _PHY_SaveMACRegisters( } -void +static void _PHY_ReloadADDARegisters( IN struct adapter *pAdapter, IN u32 * ADDAReg, @@ -995,7 +995,7 @@ _PHY_ReloadADDARegisters( } } -void +static void _PHY_ReloadMACRegisters( IN struct adapter *pAdapter, IN u32 * MACReg, @@ -1081,7 +1081,7 @@ _PHY_PathAStandBy( ODM_SetBBReg(pDM_Odm, rFPGA0_IQK, bMaskDWord, 0x80800000); } -void +static void _PHY_PIModeSwitch( IN struct adapter *pAdapter, IN BOOLEAN PIMode @@ -1098,7 +1098,7 @@ _PHY_PIModeSwitch( ODM_SetBBReg(pDM_Odm, rFPGA0_XB_HSSIParameter1, bMaskDWord, mode); } -BOOLEAN +static BOOLEAN phy_SimularityCompare_8188E( IN struct adapter *pAdapter, IN s32 result[][8], @@ -1220,9 +1220,7 @@ phy_SimularityCompare_8188E( } - - -void +static void phy_IQCalibrate_8188E( IN struct adapter *pAdapter, IN s32 result[][8], @@ -1416,7 +1414,7 @@ else } -void +static void phy_LCCalibrate_8188E( IN struct adapter *pAdapter, IN BOOLEAN is2T @@ -1485,7 +1483,7 @@ phy_LCCalibrate_8188E( #define APK_CURVE_REG_NUM 4 #define PATH_NUM 2 -void +static void phy_APCalibrate_8188E( IN struct adapter *pAdapter, IN s8 delta, @@ -2206,7 +2204,8 @@ PHY_APCalibrate_8188E( phy_APCalibrate_8188E(pAdapter, delta, FALSE); } } -void phy_SetRFPathSwitch_8188E( + +static void phy_SetRFPathSwitch_8188E( IN struct adapter *pAdapter, IN BOOLEAN bMain, IN BOOLEAN is2T diff --git a/hal/odm.c b/hal/odm.c index 05f6cb0..fbf8f61 100755 --- a/hal/odm.c +++ b/hal/odm.c @@ -26,7 +26,7 @@ u32 GlobalDebugLevel; -const u16 dB_Invert_Table[8][12] = { +static const u16 dB_Invert_Table[8][12] = { { 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4}, { 4, 5, 6, 6, 7, 8, 9, 10, 11, 13, 14, 16}, { 18, 20, 22, 25, 28, 32, 35, 40, 45, 50, 56, 63}, @@ -43,7 +43,7 @@ const u16 dB_Invert_Table[8][12] = { //============================================================ //avoid to warn in FreeBSD ==> To DO modify -u32 EDCAParam[HT_IOT_PEER_MAX][3] = +static u32 EDCAParam[HT_IOT_PEER_MAX][3] = { // UL DL {0x5ea42b, 0x5ea42b, 0x5ea42b}, //0:unknown AP {0xa44f, 0x5ea44f, 0x5e431c}, // 1:realtek AP @@ -1104,7 +1104,7 @@ odm_CmnInfoUpdate_Debug( * When Who Remark * *---------------------------------------------------------------------------*/ -void +static void ODM_ChangeDynamicInitGainThresh( IN PDM_ODM_T pDM_Odm, IN u32 DM_Type, @@ -1149,7 +1149,7 @@ ODM_ChangeDynamicInitGainThresh( } } /* DM_ChangeDynamicInitGainThresh */ -int getIGIForDiff(int value_IGI) +static int getIGIForDiff(int value_IGI) { #define ONERCCA_LOW_TH 0x30 #define ONERCCA_LOW_DIFF 8 @@ -1433,7 +1433,7 @@ odm_DIGInit( } -void +static void odm_DigForBtHsMode( IN PDM_ODM_T pDM_Odm ) @@ -1901,7 +1901,7 @@ odm_DIG( } -BOOLEAN +static BOOLEAN odm_DigAbort( IN PDM_ODM_T pDM_Odm ) @@ -3636,7 +3636,7 @@ void odm_SwAntDivChkAntSwitch( IN PDM_ODM_T pDM_Odm, IN u8 Step ) {} -void ODM_SwAntDivResetBeforeLink( IN PDM_ODM_T pDM_Odm ){} +static void ODM_SwAntDivResetBeforeLink( IN PDM_ODM_T pDM_Odm ){} void ODM_SwAntDivRestAfterLink( IN PDM_ODM_T pDM_Odm ){} void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext){} @@ -3647,7 +3647,7 @@ void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext){} //3============================================================ #if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) -void +static void odm_InitHybridAntDiv_88C_92D( IN PDM_ODM_T pDM_Odm ) @@ -3863,7 +3863,7 @@ ODM_AntselStatistics_88C( } -void +static void ODM_SetTxAntByTxInfo_88C_92D( IN PDM_ODM_T pDM_Odm ) @@ -3871,7 +3871,7 @@ ODM_SetTxAntByTxInfo_88C_92D( } -void +static void odm_HwAntDiv_92C_92D( IN PDM_ODM_T pDM_Odm ) @@ -4223,7 +4223,7 @@ ODM_SingleDualAntennaDefaultSetting( //2 8723A ANT DETECT -void +static void odm_PHY_SaveAFERegisters( IN PDM_ODM_T pDM_Odm, IN u32 * AFEReg, @@ -4239,7 +4239,7 @@ odm_PHY_SaveAFERegisters( } } -void +static void odm_PHY_ReloadAFERegisters( IN PDM_ODM_T pDM_Odm, IN u32 * AFEReg, diff --git a/hal/odm_HWConfig.c b/hal/odm_HWConfig.c index f3a020f..7204df2 100755 --- a/hal/odm_HWConfig.c +++ b/hal/odm_HWConfig.c @@ -40,7 +40,7 @@ #define READ_AND_CONFIG_MP(ic, txt) (ODM_ReadAndConfig##txt##ic(pDM_Odm)) #define READ_AND_CONFIG_TC(ic, txt) (ODM_ReadAndConfig_TC##txt##ic(pDM_Odm)) -u8 +static u8 odm_QueryRxPwrPercentage( IN s8 AntPower ) @@ -64,7 +64,7 @@ odm_QueryRxPwrPercentage( // 2012/01/12 MH MOve some signal strength smooth method to MP HAL layer. // IF other SW team do not support the feature, remove this section.?? // -s32 +static s32 odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo( IN OUT PDM_ODM_T pDM_Odm, s32 CurrSig @@ -74,7 +74,7 @@ odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Lenovo( return RetSig; } -s32 +static s32 odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore( IN OUT PDM_ODM_T pDM_Odm, s32 CurrSig @@ -85,7 +85,7 @@ odm_SignalScaleMapping_92CSeries_patch_RT_CID_819x_Netcore( } -s32 +static s32 odm_SignalScaleMapping_92CSeries( IN OUT PDM_ODM_T pDM_Odm, IN s32 CurrSig @@ -178,7 +178,7 @@ odm_SignalScaleMapping_92CSeries( #endif return RetSig; } -s32 +static s32 odm_SignalScaleMapping( IN OUT PDM_ODM_T pDM_Odm, IN s32 CurrSig @@ -246,7 +246,7 @@ odm_EVMdbToPercentage( -void +static void odm_RxPhyStatus92CSeries_Parsing( IN OUT PDM_ODM_T pDM_Odm, OUT PODM_PHY_INFO_T pPhyInfo, @@ -590,7 +590,7 @@ odm_Init_RSSIForDM( } -void +static void odm_Process_RSSIForDM( IN OUT PDM_ODM_T pDM_Odm, IN PODM_PHY_INFO_T pPhyInfo, @@ -804,7 +804,7 @@ odm_Process_RSSIForDM( // // Endianness before calling this API // -void +static void ODM_PhyStatusQuery_92CSeries( IN OUT PDM_ODM_T pDM_Odm, OUT PODM_PHY_INFO_T pPhyInfo, @@ -832,7 +832,7 @@ ODM_PhyStatusQuery_92CSeries( // // Endianness before calling this API // -void +static void ODM_PhyStatusQuery_JaguarSeries( IN OUT PDM_ODM_T pDM_Odm, OUT PODM_PHY_INFO_T pPhyInfo, diff --git a/hal/odm_RTL8188E.c b/hal/odm_RTL8188E.c index 587c0c8..5467d00 100755 --- a/hal/odm_RTL8188E.c +++ b/hal/odm_RTL8188E.c @@ -43,7 +43,7 @@ ODM_DIG_LowerBound_88E( } #if(defined(CONFIG_HW_ANTENNA_DIVERSITY)) -void +static void odm_RX_HWAntDivInit( IN PDM_ODM_T pDM_Odm ) @@ -81,7 +81,7 @@ odm_RX_HWAntDivInit( //ODM_SetBBReg(pDM_Odm, 0xa00 , BIT15, 1); //Enable CCK AntDiv } -void +static void odm_TRX_HWAntDivInit( IN PDM_ODM_T pDM_Odm ) @@ -314,7 +314,7 @@ ODM_UpdateRxIdleAnt_88E(IN PDM_ODM_T pDM_Odm, IN u8 Ant) } -void +static void odm_UpdateTxAnt_88E(IN PDM_ODM_T pDM_Odm, IN u8 Ant, IN u32 MacId) { pFAT_T pDM_FatTable = &pDM_Odm->DM_FatTable; @@ -396,7 +396,7 @@ ODM_AntselStatistics_88E( } #define TX_BY_REG 0 -void +static void odm_HWAntDiv( IN PDM_ODM_T pDM_Odm ) diff --git a/hal/odm_interface.c b/hal/odm_interface.c index 0164e92..3ea7bcb 100755 --- a/hal/odm_interface.c +++ b/hal/odm_interface.c @@ -148,7 +148,7 @@ ODM_SetRFReg( ) { struct adapter * Adapter = pDM_Odm->Adapter; - PHY_SetRFReg(Adapter, eRFPath, RegAddr, BitMask, Data); + PHY_SetRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, RegAddr, BitMask, Data); } u32 @@ -160,7 +160,9 @@ ODM_GetRFReg( ) { struct adapter * Adapter = pDM_Odm->Adapter; - return PHY_QueryRFReg(Adapter, eRFPath, RegAddr, BitMask); + + return PHY_QueryRFReg(Adapter, (RF_RADIO_PATH_E)eRFPath, + RegAddr, BitMask); } // diff --git a/hal/rtl8188eu_led.c b/hal/rtl8188eu_led.c index 2836b1f..8c12b93 100755 --- a/hal/rtl8188eu_led.c +++ b/hal/rtl8188eu_led.c @@ -22,6 +22,8 @@ #include #include #include +#include +#include //================================================================================ // LED object. diff --git a/hal/usb_halinit.c b/hal/usb_halinit.c index d5ac82b..e8a51d7 100755 --- a/hal/usb_halinit.c +++ b/hal/usb_halinit.c @@ -4326,7 +4326,7 @@ void UpdateHalRAMask8188EUsb(struct adapter *padapter, u32 mac_id, u8 rssi_level } -void SetBeaconRelatedRegisters8188EUsb(struct adapter *padapter) +static void SetBeaconRelatedRegisters8188EUsb(struct adapter *padapter) { u32 value32; //HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter); diff --git a/hal/usb_ops_linux.c b/hal/usb_ops_linux.c index a8b0d00..ba39f92 100755 --- a/hal/usb_ops_linux.c +++ b/hal/usb_ops_linux.c @@ -331,7 +331,7 @@ static int usb_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 length, u8 *pdata } #ifdef CONFIG_SUPPORT_USB_INT -void interrupt_handler_8188eu(struct adapter *padapter,u16 pkt_len,u8 *pbuf) +static void interrupt_handler_8188eu(struct adapter *padapter,u16 pkt_len,u8 *pbuf) { HAL_DATA_TYPE *pHalData=GET_HAL_DATA(padapter); struct reportpwrstate_parm pwr_rpt; diff --git a/include/HalVerDef.h b/include/HalVerDef.h index 2fc098f..0295536 100755 --- a/include/HalVerDef.h +++ b/include/HalVerDef.h @@ -96,12 +96,12 @@ typedef struct tag_HAL_VERSION //HAL_VERSION VersionID; // Get element -#define GET_CVID_IC_TYPE(version) ((HAL_IC_TYPE_E)(((HAL_VERSION)version).ICType) ) -#define GET_CVID_CHIP_TYPE(version) ((HAL_CHIP_TYPE_E)(((HAL_VERSION)version).ChipType) ) -#define GET_CVID_RF_TYPE(version) ((HAL_RF_TYPE_E)(((HAL_VERSION)version).RFType)) -#define GET_CVID_MANUFACTUER(version) ((HAL_VENDOR_E)(((HAL_VERSION)version).VendorType)) -#define GET_CVID_CUT_VERSION(version) ((HAL_CUT_VERSION_E)(((HAL_VERSION)version).CUTVersion)) -#define GET_CVID_ROM_VERSION(version) ((((HAL_VERSION)version).ROMVer) & ROM_VERSION_MASK) +#define GET_CVID_IC_TYPE(version) (((version).ICType)) +#define GET_CVID_CHIP_TYPE(version) (((version).ChipType)) +#define GET_CVID_RF_TYPE(version) (((version).RFType)) +#define GET_CVID_MANUFACTUER(version) (((version).VendorType)) +#define GET_CVID_CUT_VERSION(version) (((version).CUTVersion)) +#define GET_CVID_ROM_VERSION(version) (((version).ROMVer) & ROM_VERSION_MASK) //---------------------------------------------------------------------------- //Common Macro. -- diff --git a/include/ioctl_cfg80211.h b/include/ioctl_cfg80211.h index 67140f8..4e44498 100755 --- a/include/ioctl_cfg80211.h +++ b/include/ioctl_cfg80211.h @@ -150,7 +150,7 @@ bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter); #elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)) #define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp) #else // kernel >= 3.18 -#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, gfp) +#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0) #endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE) diff --git a/include/osdep_service.h b/include/osdep_service.h index dd30556..63ad4e2 100755 --- a/include/osdep_service.h +++ b/include/osdep_service.h @@ -112,8 +112,8 @@ extern unsigned char WPA_TKIP_CIPHER[4]; extern unsigned char RSN_TKIP_CIPHER[4]; struct dvobj_priv; -extern void rtw_unregister_netdevs(struct dvobj_priv *dvobj); -extern int pm_netdev_open(struct net_device *pnetdev,u8 bnormal); +void rtw_unregister_netdevs(struct dvobj_priv *dvobj); +int pm_netdev_open(struct net_device *pnetdev,u8 bnormal); typedef struct urb * PURB; #if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,22)) @@ -401,7 +401,7 @@ static inline void rtw_netif_stop_queue(struct net_device *pnetdev) #define BIT35 0x0800000000 #define BIT36 0x1000000000 -extern int RTW_STATUS_CODE(int error_code); +int RTW_STATUS_CODE(int error_code); //#define CONFIG_USE_VMALLOC @@ -549,60 +549,77 @@ void _rtw_usb_buffer_free(struct usb_device *dev, size_t size, void *addr, dma_a #define rtw_usb_buffer_free_f(dev, size, addr, dma, mstat_f) _rtw_usb_buffer_free((dev), (size), (addr), (dma)) #endif /* DBG_MEM_ALLOC */ -extern void* rtw_malloc2d(int h, int w, int size); -extern void rtw_mfree2d(void *pbuf, int h, int w, int size); +static inline void _rtw_spinlock(_lock *plock) +{ + spin_lock(plock); +} -extern void _rtw_memcpy(void* dec, void* sour, u32 sz); -extern int _rtw_memcmp(void *dst, void *src, u32 sz); -extern void _rtw_memset(void *pbuf, int c, u32 sz); +static inline void _rtw_spinunlock(_lock *plock) +{ + spin_unlock(plock); +} -extern void _rtw_init_listhead(_list *list); -extern u32 rtw_is_list_empty(_list *phead); -extern void rtw_list_insert_head(_list *plist, _list *phead); -extern void rtw_list_insert_tail(_list *plist, _list *phead); -extern void rtw_list_delete(_list *plist); -extern void _rtw_init_sema(_sema *sema, int init_val); -extern void _rtw_free_sema(_sema *sema); -extern void _rtw_up_sema(_sema *sema); -extern u32 _rtw_down_sema(_sema *sema); -extern void _rtw_mutex_init(_mutex *pmutex); -extern void _rtw_mutex_free(_mutex *pmutex); -extern void _rtw_spinlock_init(_lock *plock); -extern void _rtw_spinlock_free(_lock *plock); -extern void _rtw_spinlock(_lock *plock); -extern void _rtw_spinunlock(_lock *plock); -extern void _rtw_spinlock_ex(_lock *plock); -extern void _rtw_spinunlock_ex(_lock *plock); +static inline void _rtw_spinlock_ex(_lock *plock) +{ + spin_lock(plock); +} -extern void _rtw_init_queue(_queue *pqueue); -extern u32 _rtw_queue_empty(_queue *pqueue); -extern u32 rtw_end_of_queue_search(_list *queue, _list *pelement); +static inline void _rtw_spinunlock_ex(_lock *plock) +{ + spin_unlock(plock); +} -extern u32 rtw_get_current_time(void); -extern u32 rtw_systime_to_ms(u32 systime); -extern u32 rtw_ms_to_systime(u32 ms); -extern s32 rtw_get_passing_time_ms(u32 start); -extern s32 rtw_get_time_interval_ms(u32 start, u32 end); +void* rtw_malloc2d(int h, int w, int size); +void rtw_mfree2d(void *pbuf, int h, int w, int size); -extern void rtw_sleep_schedulable(int ms); +void _rtw_memcpy(void* dec, void* sour, u32 sz); +int _rtw_memcmp(void *dst, void *src, u32 sz); +void _rtw_memset(void *pbuf, int c, u32 sz); -extern void rtw_msleep_os(int ms); -extern void rtw_usleep_os(int us); +void _rtw_init_listhead(_list *list); +u32 rtw_is_list_empty(_list *phead); +void rtw_list_insert_head(_list *plist, _list *phead); +void rtw_list_insert_tail(_list *plist, _list *phead); +void rtw_list_delete(_list *plist); -extern u32 rtw_atoi(u8* s); +void _rtw_init_sema(_sema *sema, int init_val); +void _rtw_free_sema(_sema *sema); +void _rtw_up_sema(_sema *sema); +u32 _rtw_down_sema(_sema *sema); +void _rtw_mutex_init(_mutex *pmutex); +void _rtw_mutex_free(_mutex *pmutex); +void _rtw_spinlock_init(_lock *plock); +void _rtw_spinlock_free(_lock *plock); + +void _rtw_init_queue(_queue *pqueue); +u32 _rtw_queue_empty(_queue *pqueue); +u32 rtw_end_of_queue_search(_list *queue, _list *pelement); + +u32 rtw_get_current_time(void); +u32 rtw_systime_to_ms(u32 systime); +u32 rtw_ms_to_systime(u32 ms); +s32 rtw_get_passing_time_ms(u32 start); +s32 rtw_get_time_interval_ms(u32 start, u32 end); + +void rtw_sleep_schedulable(int ms); + +void rtw_msleep_os(int ms); +void rtw_usleep_os(int us); + +u32 rtw_atoi(u8* s); #ifdef DBG_DELAY_OS #define rtw_mdelay_os(ms) _rtw_mdelay_os((ms), __FUNCTION__, __LINE__) #define rtw_udelay_os(ms) _rtw_udelay_os((ms), __FUNCTION__, __LINE__) -extern void _rtw_mdelay_os(int ms, const char *func, const int line); -extern void _rtw_udelay_os(int us, const char *func, const int line); +void _rtw_mdelay_os(int ms, const char *func, const int line); +void _rtw_udelay_os(int us, const char *func, const int line); #else -extern void rtw_mdelay_os(int ms); -extern void rtw_udelay_os(int us); +void rtw_mdelay_os(int ms); +void rtw_udelay_os(int us); #endif -extern void rtw_yield_os(void); +void rtw_yield_os(void); __inline static unsigned char _cancel_timer_ex(_timer *ptimer) @@ -727,32 +744,32 @@ __inline static u32 bitshift(u32 bitmask) #include #endif -extern void rtw_suspend_lock_init(void); -extern void rtw_suspend_lock_uninit(void); -extern void rtw_lock_suspend(void); -extern void rtw_unlock_suspend(void); -extern void rtw_lock_suspend_timeout(u32 timeout_ms); -extern void rtw_lock_ext_suspend_timeout(u32 timeout_ms); +void rtw_suspend_lock_init(void); +void rtw_suspend_lock_uninit(void); +void rtw_lock_suspend(void); +void rtw_unlock_suspend(void); +void rtw_lock_suspend_timeout(u32 timeout_ms); +void rtw_lock_ext_suspend_timeout(u32 timeout_ms); //Atomic integer operations #define ATOMIC_T atomic_t -extern void ATOMIC_SET(ATOMIC_T *v, int i); -extern int ATOMIC_READ(ATOMIC_T *v); -extern void ATOMIC_ADD(ATOMIC_T *v, int i); -extern void ATOMIC_SUB(ATOMIC_T *v, int i); -extern void ATOMIC_INC(ATOMIC_T *v); -extern void ATOMIC_DEC(ATOMIC_T *v); -extern int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i); -extern int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i); -extern int ATOMIC_INC_RETURN(ATOMIC_T *v); -extern int ATOMIC_DEC_RETURN(ATOMIC_T *v); +void ATOMIC_SET(ATOMIC_T *v, int i); +int ATOMIC_READ(ATOMIC_T *v); +void ATOMIC_ADD(ATOMIC_T *v, int i); +void ATOMIC_SUB(ATOMIC_T *v, int i); +void ATOMIC_INC(ATOMIC_T *v); +void ATOMIC_DEC(ATOMIC_T *v); +int ATOMIC_ADD_RETURN(ATOMIC_T *v, int i); +int ATOMIC_SUB_RETURN(ATOMIC_T *v, int i); +int ATOMIC_INC_RETURN(ATOMIC_T *v); +int ATOMIC_DEC_RETURN(ATOMIC_T *v); //File operation APIs, just for linux now -extern int rtw_is_file_readable(char *path); -extern int rtw_retrive_from_file(char *path, u8* buf, u32 sz); -extern int rtw_store_to_file(char *path, u8* buf, u32 sz); +int rtw_is_file_readable(char *path); +int rtw_retrive_from_file(char *path, u8* buf, u32 sz); +int rtw_store_to_file(char *path, u8* buf, u32 sz); struct rtw_netdev_priv_indicator { @@ -760,11 +777,11 @@ struct rtw_netdev_priv_indicator { u32 sizeof_priv; }; struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv); -extern struct net_device * rtw_alloc_etherdev(int sizeof_priv); +struct net_device * rtw_alloc_etherdev(int sizeof_priv); #define rtw_netdev_priv(netdev) ( ((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv ) -extern void rtw_free_netdev(struct net_device * netdev); +void rtw_free_netdev(struct net_device * netdev); #define NDEV_FMT "%s" #define NDEV_ARG(ndev) ndev->name @@ -781,8 +798,8 @@ extern void rtw_free_netdev(struct net_device * netdev); #define rtw_signal_process(pid, sig) kill_proc((pid), (sig), 1) #endif //(LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) -extern u64 rtw_modular64(u64 x, u64 y); -extern u64 rtw_division64(u64 x, u64 y); +u64 rtw_modular64(u64 x, u64 y); +u64 rtw_division64(u64 x, u64 y); /* Macros for handling unaligned memory accesses */ diff --git a/include/rtw_ioctl_set.h b/include/rtw_ioctl_set.h index 55ebcde..957b6a2 100755 --- a/include/rtw_ioctl_set.h +++ b/include/rtw_ioctl_set.h @@ -51,5 +51,6 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter); int rtw_set_scan_mode(struct adapter *adapter, RT_SCAN_TYPE scan_mode); int rtw_set_channel_plan(struct adapter *adapter, u8 channel_plan); int rtw_set_country(struct adapter *adapter, const char *country_code); +int rtw_change_ifname(struct adapter *padapter, const char *ifname); #endif diff --git a/include/rtw_led.h b/include/rtw_led.h index f61c4cf..78e84b5 100755 --- a/include/rtw_led.h +++ b/include/rtw_led.h @@ -199,6 +199,11 @@ DeInitLed871x( ); //hal... -extern void BlinkHandler(PLED_871x pLed); +struct adapter; + +void BlinkHandler(PLED_871x pLed); +void SwLedOn(struct adapter *padapter, PLED_871x pLed); +void SwLedOff(struct adapter *padapter, PLED_871x pLed); + #endif //__RTW_LED_H_ diff --git a/include/wifi.h b/include/wifi.h index dd17914..15d48b7 100755 --- a/include/wifi.h +++ b/include/wifi.h @@ -280,8 +280,8 @@ enum WIFI_REG_DOMAIN { #define SetFrameType(pbuf, type) \ do { \ - *(unsigned short *)(pbuf) &= __constant_cpu_to_le16(~(BIT(3) | BIT(2))); \ - *(unsigned short *)(pbuf) |= __constant_cpu_to_le16(type); \ + *(__le16 *)(pbuf) &= __constant_cpu_to_le16(~(BIT(3) | BIT(2))); \ + *(__le16 *)(pbuf) |= __constant_cpu_to_le16(type); \ } while (0) #define GetFrameSubType(pbuf) (le16_to_cpu(*(__le16 *)(pbuf)) & (BIT(7) |\ @@ -597,7 +597,7 @@ __inline static int IsFrameTypeCtrl(unsigned char *pframe) */ struct rtw_ieee80211_bar { __le16 frame_control; - u8 duration; + __le16 duration; u8 ra[6]; u8 ta[6]; __le16 control; @@ -646,7 +646,7 @@ struct HT_caps_element { u8 AMPDU_para; u8 MCS_rate[16]; __le16 HT_ext_caps; - __le32 Beamforming_caps; + __le16 Beamforming_caps; u8 ASEL_caps; } HT_cap_element; u8 HT_cap[26]; diff --git a/os_dep/ioctl_cfg80211.c b/os_dep/ioctl_cfg80211.c index 7fe83eb..30a527c 100755 --- a/os_dep/ioctl_cfg80211.c +++ b/os_dep/ioctl_cfg80211.c @@ -4219,13 +4219,12 @@ void rtw_cfg80211_issue_p2p_provision_request(struct adapter *padapter, const u8 u8 devinfo_content[64] = { 0x00 }; u16 capability = 0; uint capability_len = 0; - unsigned char category = RTW_WLAN_CATEGORY_PUBLIC; - u8 action = P2P_PUB_ACTION_ACTION; - u8 dialogToken = 1; - u32 p2poui = cpu_to_be32(P2POUI); - u8 oui_subtype = P2P_PROVISION_DISC_REQ; - u32 p2pielen = 0; + u8 action = P2P_PUB_ACTION_ACTION; + u8 dialogToken = 1; + __be32 p2poui = cpu_to_be32(P2POUI); + u8 oui_subtype = P2P_PROVISION_DISC_REQ; + u32 p2pielen = 0; #ifdef CONFIG_WFD u32 wfdielen = 0; #endif //CONFIG_WFD @@ -5109,7 +5108,7 @@ static int rtw_cfg80211_set_probe_resp_wpsp2pie(struct net_device *net, char *bu } //add PUSH_BUTTON config_method by driver self in wpsie of probe_resp at GO Mode - if ( (puconfig_method = (u16*)rtw_get_wps_attr_content( wps_ie, wps_ielen, WPS_ATTR_CONF_METHOD , NULL, &attr_contentlen)) != NULL ) + if ( (puconfig_method = (__be16*)rtw_get_wps_attr_content( wps_ie, wps_ielen, WPS_ATTR_CONF_METHOD , NULL, &attr_contentlen)) != NULL ) { #ifdef CONFIG_DEBUG_CFG80211 //printk("config_method in wpsie of probe_resp = 0x%x\n", be16_to_cpu(*puconfig_method)); diff --git a/os_dep/ioctl_linux.c b/os_dep/ioctl_linux.c index 60d83ef..3ebb055 100755 --- a/os_dep/ioctl_linux.c +++ b/os_dep/ioctl_linux.c @@ -6168,33 +6168,33 @@ static int rtw_p2p_get(struct net_device *dev, struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; if ( padapter->bShowGetP2PState ) - DBG_871X( "[%s] extra = %s\n", __FUNCTION__, (char *)wrqu->data.pointer ); + DBG_871X( "[%s] extra = %s\n", __FUNCTION__, (__force char *)wrqu->data.pointer ); - if ( _rtw_memcmp( wrqu->data.pointer, "status", 6 ) ) { + if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "status", 6 ) ) { rtw_p2p_get_status( dev, info, wrqu, extra ); - } else if ( _rtw_memcmp( wrqu->data.pointer, "role", 4 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "role", 4 ) ) { rtw_p2p_get_role( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "peer_ifa", 8 ) ) { - rtw_p2p_get_peer_ifaddr( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "req_cm", 6 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "peer_ifa", 8 ) ) { + rtw_p2p_get_peer_ifaddr(dev, info, wrqu, extra); + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "req_cm", 6 ) ) { rtw_p2p_get_req_cm( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "peer_deva", 9 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "peer_deva", 9 ) ) { // Get the P2P device address when receiving the provision discovery request frame. - rtw_p2p_get_peer_devaddr( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "group_id", 8 ) ) { + rtw_p2p_get_peer_devaddr((__force void *)dev, info, wrqu, extra); + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "group_id", 8 ) ) { rtw_p2p_get_groupid( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "inv_peer_deva", 13 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "inv_peer_deva", 13 ) ) { // Get the P2P device address when receiving the P2P Invitation request frame. rtw_p2p_get_peer_devaddr_by_invitation( dev, info, wrqu, extra); - } else if ( _rtw_memcmp( wrqu->data.pointer, "op_ch", 5 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "op_ch", 5 ) ) { rtw_p2p_get_op_ch( dev, info, wrqu, extra); } #ifdef CONFIG_WFD - else if ( _rtw_memcmp( wrqu->data.pointer, "peer_port", 9 ) ) { + else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "peer_port", 9 ) ) { rtw_p2p_get_peer_wfd_port( dev, info, wrqu, extra ); - } else if ( _rtw_memcmp( wrqu->data.pointer, "wfd_sa", 6 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "wfd_sa", 6 ) ) { rtw_p2p_get_peer_wfd_session_available( dev, info, wrqu, extra ); - } else if ( _rtw_memcmp( wrqu->data.pointer, "wfd_pc", 6 ) ) { + } else if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "wfd_pc", 6 ) ) { rtw_p2p_get_peer_wfd_preferred_connection( dev, info, wrqu, extra ); } #endif // CONFIG_WFD @@ -10354,25 +10354,23 @@ static int rtw_tdls_get(struct net_device *dev, #ifdef CONFIG_WFD - DBG_871X( "[%s] extra = %s\n", __FUNCTION__, (char*) wrqu->data.pointer ); + DBG_871X( "[%s] extra = %s\n", __FUNCTION__, (__force char *)wrqu->data.pointer ); - if ( _rtw_memcmp( wrqu->data.pointer, "ip", 2 ) ) + if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "ip", 2 ) ) { rtw_tdls_getip( dev, info, wrqu, extra ); } - if ( _rtw_memcmp( wrqu->data.pointer, "port", 4 ) ) + if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "port", 4 ) ) { rtw_tdls_getport( dev, info, wrqu, extra ); } //WFDTDLS, for sigma test - if ( _rtw_memcmp( wrqu->data.pointer, "dis", 3 ) ) + if ( _rtw_memcmp((__force void *)wrqu->data.pointer, "dis", 3 ) ) { rtw_tdls_dis_result( dev, info, wrqu, extra ); } - if ( _rtw_memcmp(wrqu->data.pointer, "status", 6 ) ) - { + if (_rtw_memcmp((__force void *)wrqu->data.pointer, "status", 6)) rtw_wfd_tdls_status( dev, info, wrqu, extra ); - } #endif //CONFIG_WFD diff --git a/os_dep/mlme_linux.c b/os_dep/mlme_linux.c index ec3ae80..af207d1 100755 --- a/os_dep/mlme_linux.c +++ b/os_dep/mlme_linux.c @@ -105,7 +105,7 @@ if (adapter->registrypriv.mp_mode == 1) } #ifdef CONFIG_SET_SCAN_DENY_TIMER -void _rtw_set_scan_deny_timer_hdl(void *FunctionContext) +static void _rtw_set_scan_deny_timer_hdl(void *FunctionContext) { struct adapter *adapter = (struct adapter *)FunctionContext; rtw_set_scan_deny_timer_hdl(adapter); diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c index 1e383e0..3b6ee06 100755 --- a/os_dep/osdep_service.c +++ b/os_dep/osdep_service.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #ifdef RTK_DMP_PLATFORM #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)) @@ -704,27 +705,6 @@ void _rtw_spinlock_free(_lock *plock) { } -void _rtw_spinlock(_lock *plock) -{ - spin_lock(plock); -} - -void _rtw_spinunlock(_lock *plock) -{ - spin_unlock(plock); -} - - -void _rtw_spinlock_ex(_lock *plock) -{ - spin_lock(plock); -} - -void _rtw_spinunlock_ex(_lock *plock) -{ - spin_unlock(plock); -} - void _rtw_init_queue(_queue *pqueue) { @@ -828,7 +808,7 @@ void rtw_udelay_os(int us) } #endif -void rtw_yield_os() +void rtw_yield_os(void) { yield(); } @@ -849,7 +829,7 @@ static android_suspend_lock_t rtw_suspend_ext_lock ={ }; #endif -inline void rtw_suspend_lock_init() +inline void rtw_suspend_lock_init(void) { #ifdef CONFIG_WAKELOCK wake_lock_init(&rtw_suspend_lock, WAKE_LOCK_SUSPEND, RTW_SUSPEND_LOCK_NAME); @@ -860,7 +840,7 @@ inline void rtw_suspend_lock_init() #endif } -inline void rtw_suspend_lock_uninit() +inline void rtw_suspend_lock_uninit(void) { #ifdef CONFIG_WAKELOCK wake_lock_destroy(&rtw_suspend_lock); @@ -871,7 +851,7 @@ inline void rtw_suspend_lock_uninit() #endif } -inline void rtw_lock_suspend() +inline void rtw_lock_suspend(void) { #ifdef CONFIG_WAKELOCK wake_lock(&rtw_suspend_lock); @@ -884,7 +864,7 @@ inline void rtw_lock_suspend() #endif } -inline void rtw_unlock_suspend() +inline void rtw_unlock_suspend(void) { #ifdef CONFIG_WAKELOCK wake_unlock(&rtw_suspend_lock); @@ -1007,7 +987,7 @@ static int readFile(struct file *fp,char *buf,int len) return -EPERM; while(sumf_op->read(fp,buf+sum,len-sum, &fp->f_pos); + rlen=fp->f_op->read(fp,(char __user *)buf+sum,len-sum, &fp->f_pos); if(rlen>0) sum+=rlen; else if(0 != rlen) @@ -1028,7 +1008,7 @@ static int writeFile(struct file *fp,char *buf,int len) return -EPERM; while(sumf_op->write(fp,buf+sum,len-sum, &fp->f_pos); + wlen=fp->f_op->write(fp,(char __user *)buf+sum,len-sum, &fp->f_pos); if(wlen>0) sum+=wlen; else if(0 != wlen) diff --git a/os_dep/recv_linux.c b/os_dep/recv_linux.c index 63beee1..a03dafe 100755 --- a/os_dep/recv_linux.c +++ b/os_dep/recv_linux.c @@ -479,7 +479,7 @@ void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf) } } -void _rtw_reordering_ctrl_timeout_handler (void *FunctionContext) +static void _rtw_reordering_ctrl_timeout_handler (void *FunctionContext) { struct recv_reorder_ctrl *preorder_ctrl = (struct recv_reorder_ctrl *)FunctionContext; rtw_reordering_ctrl_timeout_handler(preorder_ctrl); diff --git a/os_dep/rtw_android.c b/os_dep/rtw_android.c index f7e76e7..69b3acd 100755 --- a/os_dep/rtw_android.c +++ b/os_dep/rtw_android.c @@ -362,12 +362,12 @@ int rtw_android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd) goto exit; } - if (!access_ok(VERIFY_READ, priv_cmd.buf, priv_cmd.total_len)){ + if (!access_ok(VERIFY_READ, (const void __user *)priv_cmd.buf, priv_cmd.total_len)){ DBG_871X("%s: failed to access memory\n", __FUNCTION__); ret = -EFAULT; goto exit; } - if (copy_from_user(command, (void *)priv_cmd.buf, priv_cmd.total_len)) { + if (copy_from_user(command, (const void __user *)priv_cmd.buf, priv_cmd.total_len)) { ret = -EFAULT; goto exit; } @@ -570,7 +570,7 @@ response: bytes_written++; } priv_cmd.used_len = bytes_written; - if (copy_to_user((void *)priv_cmd.buf, command, bytes_written)) { + if (copy_to_user((void __user *)priv_cmd.buf, command, bytes_written)) { DBG_871X("%s: failed to copy data to user buffer\n", __FUNCTION__); ret = -EFAULT; }