mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-06-23 08:34:20 +00:00
rtl8188eu: Remove dead code for FREEBSD
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
a68c6cc26e
commit
dd606233f2
22 changed files with 6 additions and 2326 deletions
270
core/rtw_mlme.c
270
core/rtw_mlme.c
|
@ -288,17 +288,6 @@ _func_enter_;
|
|||
goto exit;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
//i think needs to check again
|
||||
delta_time = (curr_time -pnetwork->last_scanned)/hz;
|
||||
|
||||
if(delta_time < lifetime)// unit:sec
|
||||
{
|
||||
goto exit;
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -525,7 +514,6 @@ _func_exit_;
|
|||
}
|
||||
|
||||
|
||||
#ifndef PLATFORM_FREEBSD //Baron
|
||||
static struct wlan_network *rtw_dequeue_network(_queue *queue)
|
||||
{
|
||||
struct wlan_network *pnetwork;
|
||||
|
@ -534,7 +522,6 @@ _func_enter_;
|
|||
_func_exit_;
|
||||
return pnetwork;
|
||||
}
|
||||
#endif //PLATFORM_FREEBSD
|
||||
|
||||
struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv );
|
||||
struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv )//(_queue *free_queue)
|
||||
|
@ -2458,25 +2445,6 @@ void _rtw_join_timeout_handler (_adapter *adapter)
|
|||
#endif
|
||||
|
||||
_func_enter_;
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_lock(NULL);
|
||||
if (callout_pending(&adapter->mlmepriv.assoc_timer.callout)) {
|
||||
/* callout was reset */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
if (!callout_active(&adapter->mlmepriv.assoc_timer.callout)) {
|
||||
/* callout was stopped */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
callout_deactivate(&adapter->mlmepriv.assoc_timer.callout);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
DBG_871X("%s, fw_state=%x\n", __FUNCTION__, get_fwstate(pmlmepriv));
|
||||
|
||||
if(adapter->bDriverStopped ||adapter->bSurpriseRemoved)
|
||||
|
@ -2530,9 +2498,6 @@ _func_enter_;
|
|||
#ifdef CONFIG_DRVEXT_MODULE_WSC
|
||||
drvext_assoc_fail_indicate(&adapter->drvextpriv);
|
||||
#endif
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_unlock(NULL);
|
||||
#endif
|
||||
|
||||
_func_exit_;
|
||||
|
||||
|
@ -2769,7 +2734,6 @@ void rtw_event_polling_timer_hdl(_adapter *adapter)
|
|||
#define RTW_SCAN_RESULT_EXPIRE 2000
|
||||
#endif
|
||||
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
/*
|
||||
* Select a new join candidate from the original @param candidate and @param competitor
|
||||
* @return _TRUE: candidate is updated
|
||||
|
@ -2814,46 +2778,6 @@ static int rtw_check_join_candidate(struct mlme_priv *pmlmepriv
|
|||
updated = _TRUE;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if(pmlmepriv->assoc_by_bssid==_TRUE) { // associate with bssid
|
||||
if( (*candidate == NULL ||(*candidate)->network.Rssi<competitor->network.Rssi )
|
||||
&& _rtw_memcmp(competitor->network.MacAddress, pmlmepriv->assoc_bssid, ETH_ALEN)==_TRUE
|
||||
) {
|
||||
*candidate = competitor;
|
||||
updated = _TRUE;
|
||||
}
|
||||
} else if (pmlmepriv->assoc_ssid.SsidLength == 0 ) { // associate with ssid, but ssidlength is 0
|
||||
if( (*candidate == NULL ||(*candidate)->network.Rssi<competitor->network.Rssi ) ) {
|
||||
*candidate = competitor;
|
||||
updated = _TRUE;
|
||||
}
|
||||
} else
|
||||
#ifdef CONFIG_LAYER2_ROAMING
|
||||
if(rtw_to_roaming(adapter)) { // roaming
|
||||
if( (*candidate == NULL ||(*candidate)->network.Rssi<competitor->network.Rssi )
|
||||
&& is_same_ess(&competitor->network, &pmlmepriv->cur_network.network)
|
||||
//&&(!is_same_network(&competitor->network, &pmlmepriv->cur_network.network))
|
||||
&& rtw_get_passing_time_ms((u32)competitor->last_scanned) < RTW_SCAN_RESULT_EXPIRE
|
||||
&& rtw_is_desired_network(adapter, competitor)
|
||||
) {
|
||||
*candidate = competitor;
|
||||
updated = _TRUE;
|
||||
}
|
||||
|
||||
} else
|
||||
#endif
|
||||
{ // associate with ssid
|
||||
if( (*candidate == NULL ||(*candidate)->network.Rssi<competitor->network.Rssi )
|
||||
&& (competitor->network.Ssid.SsidLength==pmlmepriv->assoc_ssid.SsidLength)
|
||||
&&((_rtw_memcmp(competitor->network.Ssid.Ssid, pmlmepriv->assoc_ssid.Ssid, pmlmepriv->assoc_ssid.SsidLength)) == _TRUE)
|
||||
&& rtw_is_desired_network(adapter, competitor)
|
||||
) {
|
||||
*candidate = competitor;
|
||||
updated = _TRUE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if(updated){
|
||||
DBG_871X("[by_bssid:%u][assoc_ssid:%s]"
|
||||
#ifdef CONFIG_LAYER2_ROAMING
|
||||
|
@ -2984,200 +2908,6 @@ _func_exit_;
|
|||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv )
|
||||
{
|
||||
_irqL irqL;
|
||||
_list *phead;
|
||||
#ifdef CONFIG_ANTENNA_DIVERSITY
|
||||
u8 CurrentAntenna;
|
||||
#endif
|
||||
unsigned char *dst_ssid, *src_ssid;
|
||||
_adapter *adapter;
|
||||
_queue *queue = &(pmlmepriv->scanned_queue);
|
||||
struct wlan_network *pnetwork = NULL;
|
||||
struct wlan_network *pnetwork_max_rssi = NULL;
|
||||
#ifdef CONFIG_LAYER2_ROAMING
|
||||
struct wlan_network * roaming_candidate=NULL;
|
||||
u32 cur_time=rtw_get_current_time();
|
||||
#endif
|
||||
|
||||
_func_enter_;
|
||||
_enter_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
phead = get_list_head(queue);
|
||||
adapter = (_adapter *)pmlmepriv->nic_hdl;
|
||||
|
||||
pmlmepriv->pscanned = get_next( phead );
|
||||
|
||||
while (!rtw_end_of_queue_search(phead, pmlmepriv->pscanned)) {
|
||||
|
||||
pnetwork = LIST_CONTAINOR(pmlmepriv->pscanned, struct wlan_network, list);
|
||||
if(pnetwork==NULL){
|
||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("(2)rtw_select_and_join_from_scanned_queue return _FAIL:(pnetwork==NULL)\n"));
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
return _FAIL;
|
||||
}
|
||||
|
||||
dst_ssid = pnetwork->network.Ssid.Ssid;
|
||||
src_ssid = pmlmepriv->assoc_ssid.Ssid;
|
||||
|
||||
pmlmepriv->pscanned = get_next(pmlmepriv->pscanned);
|
||||
|
||||
#if 0
|
||||
DBG_871X("MacAddress:"MAC_FMT" ssid:%s\n", MAC_ARG(pnetwork->network.MacAddress), pnetwork->network.Ssid.Ssid);
|
||||
#endif
|
||||
|
||||
if(pmlmepriv->assoc_by_bssid==_TRUE)
|
||||
{
|
||||
if(_rtw_memcmp(pnetwork->network.MacAddress, pmlmepriv->assoc_bssid, ETH_ALEN)==_TRUE)
|
||||
{
|
||||
//remove the condition @ 20081125
|
||||
//if((pmlmepriv->cur_network.network.InfrastructureMode==Ndis802_11AutoUnknown)||
|
||||
// pmlmepriv->cur_network.network.InfrastructureMode == pnetwork->network.InfrastructureMode)
|
||||
// goto ask_for_joinbss;
|
||||
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
{
|
||||
if(is_same_network(&pmlmepriv->cur_network.network, &pnetwork->network), 0)
|
||||
{
|
||||
//DBG_871X("select_and_join(1): _FW_LINKED and is same network, it needn't join again\n");
|
||||
|
||||
rtw_indicate_connect(adapter);//rtw_indicate_connect again
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
rtw_disassoc_cmd(adapter, 0, _TRUE);
|
||||
rtw_indicate_disconnect(adapter);
|
||||
rtw_free_assoc_resources(adapter, 0);
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
goto ask_for_joinbss;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
goto ask_for_joinbss;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else if (pmlmepriv->assoc_ssid.SsidLength == 0) {
|
||||
goto ask_for_joinbss;//anyway, join first selected(dequeued) pnetwork if ssid_len=0
|
||||
|
||||
#ifdef CONFIG_LAYER2_ROAMING
|
||||
} else if (rtw_to_roaming(adapter) > 0) {
|
||||
|
||||
if( (roaming_candidate == NULL ||roaming_candidate->network.Rssi<pnetwork->network.Rssi )
|
||||
&& is_same_ess(&pnetwork->network, &pmlmepriv->cur_network.network)
|
||||
//&&(!is_same_network(&pnetwork->network, &pmlmepriv->cur_network.network, 0))
|
||||
&& rtw_get_time_interval_ms((u32)pnetwork->last_scanned,cur_time) < 5000
|
||||
) {
|
||||
roaming_candidate = pnetwork;
|
||||
//RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,
|
||||
DBG_871X
|
||||
("roaming_candidate???: %s("MAC_FMT")\n",
|
||||
roaming_candidate->network.Ssid.Ssid, MAC_ARG(roaming_candidate->network.MacAddress) )
|
||||
//)
|
||||
;
|
||||
}
|
||||
continue;
|
||||
#endif
|
||||
|
||||
} else if ( (pnetwork->network.Ssid.SsidLength==pmlmepriv->assoc_ssid.SsidLength)
|
||||
&&((_rtw_memcmp(dst_ssid, src_ssid, pmlmepriv->assoc_ssid.SsidLength)) == _TRUE)
|
||||
)
|
||||
{
|
||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("dst_ssid=%s, src_ssid=%s \n", dst_ssid, src_ssid));
|
||||
#ifdef CONFIG_ANTENNA_DIVERSITY
|
||||
rtw_hal_get_def_var(adapter, HAL_DEF_CURRENT_ANTENNA, &(CurrentAntenna));
|
||||
DBG_871X("#### dst_ssid=(%s) Opt_Ant_(%s) , cur_Ant(%s)\n", dst_ssid,
|
||||
(2==pnetwork->network.PhyInfo.Optimum_antenna)?"A":"B",
|
||||
(2==CurrentAntenna)?"A":"B");
|
||||
#endif
|
||||
//remove the condition @ 20081125
|
||||
//if((pmlmepriv->cur_network.network.InfrastructureMode==Ndis802_11AutoUnknown)||
|
||||
// pmlmepriv->cur_network.network.InfrastructureMode == pnetwork->network.InfrastructureMode)
|
||||
//{
|
||||
// _rtw_memcpy(pmlmepriv->assoc_bssid, pnetwork->network.MacAddress, ETH_ALEN);
|
||||
// goto ask_for_joinbss;
|
||||
//}
|
||||
|
||||
if(pmlmepriv->assoc_by_rssi==_TRUE)//if the ssid is the same, select the bss which has the max rssi
|
||||
{
|
||||
if( NULL==pnetwork_max_rssi|| pnetwork->network.Rssi > pnetwork_max_rssi->network.Rssi)
|
||||
pnetwork_max_rssi = pnetwork;
|
||||
}
|
||||
else if(rtw_is_desired_network(adapter, pnetwork) == _TRUE)
|
||||
{
|
||||
if (check_fwstate(pmlmepriv, _FW_LINKED) == _TRUE)
|
||||
{
|
||||
#if 0
|
||||
if(is_same_network(&pmlmepriv->cur_network.network, &pnetwork->network, 0))
|
||||
{
|
||||
DBG_871X("select_and_join(2): _FW_LINKED and is same network, it needn't join again\n");
|
||||
|
||||
rtw_indicate_connect(adapter);//rtw_indicate_connect again
|
||||
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
rtw_disassoc_cmd(adapter, 0, _TRUE);
|
||||
//rtw_indicate_disconnect(adapter);//
|
||||
rtw_free_assoc_resources(adapter, 0);
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
goto ask_for_joinbss;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
goto ask_for_joinbss;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
_exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
|
||||
#ifdef CONFIG_LAYER2_ROAMING
|
||||
if(rtw_to_roaming(adapter) > 0 && roaming_candidate ){
|
||||
pnetwork=roaming_candidate;
|
||||
DBG_871X("select_and_join_from_scanned_queue: roaming_candidate: %s("MAC_FMT")\n",
|
||||
pnetwork->network.Ssid.Ssid, MAC_ARG(pnetwork->network.MacAddress));
|
||||
goto ask_for_joinbss;
|
||||
}
|
||||
#endif
|
||||
|
||||
if((pmlmepriv->assoc_by_rssi==_TRUE) && (pnetwork_max_rssi!=NULL))
|
||||
{
|
||||
pnetwork = pnetwork_max_rssi;
|
||||
DBG_871X("select_and_join_from_scanned_queue: pnetwork_max_rssi: %s("MAC_FMT")\n",
|
||||
pnetwork->network.Ssid.Ssid, MAC_ARG(pnetwork->network.MacAddress));
|
||||
goto ask_for_joinbss;
|
||||
}
|
||||
|
||||
DBG_871X("(1)rtw_select_and_join_from_scanned_queue return _FAIL\n");
|
||||
|
||||
_func_exit_;
|
||||
|
||||
return _FAIL;
|
||||
|
||||
ask_for_joinbss:
|
||||
|
||||
_func_exit_;
|
||||
|
||||
return rtw_joinbss_cmd(adapter, pnetwork);
|
||||
|
||||
}
|
||||
#endif //PLATFORM_FREEBSD
|
||||
|
||||
|
||||
sint rtw_set_auth(_adapter * adapter,struct security_priv *psecuritypriv)
|
||||
{
|
||||
|
|
|
@ -10979,26 +10979,6 @@ void survey_timer_hdl(_adapter *padapter)
|
|||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||
#ifdef CONFIG_P2P
|
||||
struct wifidirect_info *pwdinfo= &(padapter->wdinfo);
|
||||
#endif
|
||||
|
||||
//DBG_871X("marc: survey timer\n");
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_lock(NULL);
|
||||
if (callout_pending(&padapter->mlmeextpriv.survey_timer.callout)) {
|
||||
/* callout was reset */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
if (!callout_active(&padapter->mlmeextpriv.survey_timer.callout)) {
|
||||
/* callout was stopped */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
callout_deactivate(&padapter->mlmeextpriv.survey_timer.callout);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
//issue rtw_sitesurvey_cmd
|
||||
|
@ -11053,10 +11033,6 @@ void survey_timer_hdl(_adapter *padapter)
|
|||
|
||||
|
||||
exit_survey_timer_hdl:
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_unlock(NULL);
|
||||
#endif
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -11069,25 +11045,6 @@ void link_timer_hdl(_adapter *padapter)
|
|||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||
//struct sta_priv *pstapriv = &padapter->stapriv;
|
||||
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_lock(NULL);
|
||||
if (callout_pending(&padapter->mlmeextpriv.survey_timer.callout)) {
|
||||
/* callout was reset */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
if (!callout_active(&padapter->mlmeextpriv.survey_timer.callout)) {
|
||||
/* callout was stopped */
|
||||
//mtx_unlock(&sc->sc_mtx);
|
||||
rtw_mtx_unlock(NULL);
|
||||
return;
|
||||
}
|
||||
callout_deactivate(&padapter->mlmeextpriv.survey_timer.callout);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
if (pmlmeinfo->state & WIFI_FW_AUTH_NULL)
|
||||
{
|
||||
DBG_871X("link_timer_hdl:no beacon while connecting\n");
|
||||
|
@ -11194,10 +11151,6 @@ void link_timer_hdl(_adapter *padapter)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
rtw_mtx_unlock(NULL);
|
||||
#endif
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -204,7 +204,6 @@ exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if defined (PLATFORM_LINUX)||defined (PLATFORM_FREEBSD)
|
||||
void rtw_ps_processor(_adapter*padapter)
|
||||
{
|
||||
#ifdef CONFIG_P2P
|
||||
|
@ -333,15 +332,11 @@ exit:
|
|||
return;
|
||||
}
|
||||
|
||||
void pwr_state_check_handler(void *FunctionContext);
|
||||
void pwr_state_check_handler(void *FunctionContext)
|
||||
{
|
||||
_adapter *padapter = (_adapter *)FunctionContext;
|
||||
rtw_ps_cmd(padapter);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef CONFIG_LPS
|
||||
/*
|
||||
|
|
373
core/rtw_recv.c
373
core/rtw_recv.c
|
@ -264,8 +264,6 @@ _func_enter_;
|
|||
#endif
|
||||
|
||||
|
||||
#if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD)
|
||||
|
||||
if(precvframe->u.hdr.pkt)
|
||||
{
|
||||
#ifdef CONFIG_BSD_RX_USE_MBUF
|
||||
|
@ -276,8 +274,6 @@ _func_enter_;
|
|||
precvframe->u.hdr.pkt = NULL;
|
||||
}
|
||||
|
||||
#endif //defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD)
|
||||
|
||||
_enter_critical_bh(&pfree_recv_queue->lock, &irqL);
|
||||
|
||||
rtw_list_delete(&(precvframe->u.hdr.list));
|
||||
|
@ -2828,23 +2824,16 @@ _func_exit_;
|
|||
int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe);
|
||||
int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe)
|
||||
{
|
||||
#if defined (PLATFORM_LINUX) || defined (PLATFORM_FREEBSD) //for amsdu TP improvement,Creator: Thomas
|
||||
int a_len, padding_len;
|
||||
u16 eth_type, nSubframe_Length;
|
||||
u8 nr_subframes, i;
|
||||
unsigned char *pdata;
|
||||
struct rx_pkt_attrib *pattrib;
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
unsigned char *data_ptr;
|
||||
_pkt *sub_skb,*subframes[MAX_SUBFRAME_COUNT];
|
||||
#endif //PLATFORM_FREEBSD
|
||||
struct recv_priv *precvpriv = &padapter->recvpriv;
|
||||
_queue *pfree_recv_queue = &(precvpriv->free_recv_queue);
|
||||
int ret = _SUCCESS;
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
struct mbuf *sub_m=NULL, *subframes[MAX_SUBFRAME_COUNT];
|
||||
u8 *ptr,offset;
|
||||
#endif //PLATFORM_FREEBSD
|
||||
nr_subframes = 0;
|
||||
|
||||
pattrib = &prframe->u.hdr.attrib;
|
||||
|
@ -2878,7 +2867,6 @@ int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe)
|
|||
goto exit;
|
||||
}
|
||||
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
/* move the data point to data content */
|
||||
pdata += ETH_HLEN;
|
||||
a_len -= ETH_HLEN;
|
||||
|
@ -2909,24 +2897,8 @@ int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe)
|
|||
}
|
||||
}
|
||||
|
||||
#else // PLATFORM_FREEBSD
|
||||
|
||||
//PLATFORM_FREEBSD
|
||||
//Allocate a mbuff,
|
||||
//sub_m =m_devget(pdata, nSubframe_Length+12, 12, padapter->pifp,NULL);
|
||||
sub_m =m_devget(pdata, nSubframe_Length+ETH_HLEN, ETHER_ALIGN, padapter->pifp,NULL);
|
||||
|
||||
pdata += ETH_HLEN;
|
||||
a_len -= ETH_HLEN;
|
||||
#endif // PLATFORM_FREEBSD
|
||||
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
//sub_skb->dev = padapter->pnetdev;
|
||||
subframes[nr_subframes++] = sub_skb;
|
||||
#else //PLATFORM_FREEBSD
|
||||
//PLATFORM_FREEBSD
|
||||
subframes[nr_subframes++] = sub_m;
|
||||
#endif //PLATFORM_FREEBSD
|
||||
|
||||
if(nr_subframes >= MAX_SUBFRAME_COUNT) {
|
||||
DBG_871X("ParseSubframe(): Too many Subframes! Packets dropped!\n");
|
||||
|
@ -2950,7 +2922,6 @@ int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe)
|
|||
}
|
||||
|
||||
for(i=0; i<nr_subframes; i++){
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
sub_skb = subframes[i];
|
||||
/* convert hdr + possible LLC headers into Ethernet header */
|
||||
#ifdef ENDIAN_FREE
|
||||
|
@ -3027,70 +2998,6 @@ int amsdu_to_msdu(_adapter *padapter, union recv_frame *prframe)
|
|||
|
||||
rtw_netif_rx(padapter->pnetdev, sub_skb);
|
||||
}
|
||||
#else //PLATFORM_FREEBSD
|
||||
|
||||
//PLATFORM_FREEBSD
|
||||
sub_m = subframes[i];
|
||||
ptr=mtod(sub_m, u8 *);
|
||||
offset=ETH_HLEN;
|
||||
/* convert hdr + possible LLC headers into Ethernet header */
|
||||
#ifdef ENDIAN_FREE
|
||||
eth_type = ntohs(*(u16*)&ptr[offset+6]);
|
||||
#else // ENDIAN_FREE
|
||||
eth_type = ( ptr[offset+6] << 8) | ptr[offset+7];
|
||||
#endif // ENDIAN_FREE
|
||||
if (sub_m->m_pkthdr.len >= ETH_HLEN+8 &&
|
||||
((_rtw_memcmp(ptr+ETH_HLEN, rtw_rfc1042_header, SNAP_SIZE) &&
|
||||
eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) ||
|
||||
_rtw_memcmp(ptr+ETH_HLEN, rtw_bridge_tunnel_header, SNAP_SIZE) )) {
|
||||
/* remove RFC1042 or Bridge-Tunnel encapsulation and replace EtherType */
|
||||
offset+=SNAP_SIZE;
|
||||
_rtw_memcpy(&ptr[offset-ETH_ALEN], pattrib->src, ETH_ALEN);
|
||||
offset-=ETH_ALEN;
|
||||
_rtw_memcpy(&ptr[offset-ETH_ALEN], pattrib->dst, ETH_ALEN);
|
||||
offset-=ETH_ALEN;
|
||||
} else {
|
||||
u16 len;
|
||||
/* Leave Ethernet header part of hdr and full payload */
|
||||
len = htons(sub_m->m_pkthdr.len-offset);
|
||||
_rtw_memcpy(&ptr[offset- 2], &len, 2);
|
||||
offset-=2;
|
||||
_rtw_memcpy(&ptr[offset-ETH_ALEN], pattrib->src, ETH_ALEN);
|
||||
offset-=ETH_ALEN;
|
||||
_rtw_memcpy(&ptr[offset-ETH_ALEN], pattrib->dst, ETH_ALEN);
|
||||
offset-=ETH_ALEN;
|
||||
}
|
||||
|
||||
m_adj(sub_m,offset);
|
||||
|
||||
/* Indicat the packets to upper layer */
|
||||
if (sub_m) {
|
||||
|
||||
#if 0
|
||||
#ifdef CONFIG_TCP_CSUM_OFFLOAD_RX
|
||||
if ( (pattrib->tcpchk_valid == 1) && (pattrib->tcp_chkrpt == 1) ) {
|
||||
sub_skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
} else {
|
||||
sub_skb->ip_summed = CHECKSUM_NONE;
|
||||
}
|
||||
#else /* !CONFIG_TCP_CSUM_OFFLOAD_RX */
|
||||
sub_skb->ip_summed = CHECKSUM_NONE;
|
||||
#endif //CONFIG_TCP_CSUM_OFFLOAD_RX
|
||||
#endif //0
|
||||
|
||||
if ( ((u32)(mtod(sub_m, caddr_t) + 14) % 4) != 0)
|
||||
printf("%s()-%d: mtod(sub_m) = %p\n", __FUNCTION__, __LINE__, mtod(sub_m, caddr_t));
|
||||
#ifdef CONFIG_RX_INDICATE_QUEUE
|
||||
IF_ENQUEUE(&precvpriv->rx_indicate_queue, sub_m);
|
||||
if (_IF_QLEN(&precvpriv->rx_indicate_queue) <= 1) {
|
||||
taskqueue_enqueue(taskqueue_thread, &precvpriv->rx_indicate_tasklet);
|
||||
}
|
||||
#else // CONFIG_RX_INDICATE_QUEUE
|
||||
(*padapter->pifp->if_input)(padapter->pifp, sub_m);
|
||||
#endif // CONFIG_RX_INDICATE_QUEUE
|
||||
}
|
||||
|
||||
#endif //PLATFORM_FREEBSD
|
||||
}
|
||||
|
||||
exit:
|
||||
|
@ -3099,288 +3006,8 @@ exit:
|
|||
rtw_free_recvframe(prframe, pfree_recv_queue);//free this recv_frame
|
||||
|
||||
return ret;
|
||||
#else // || defined (PLATFORM_LINUX) || defined (PLATFORM_FREEBSD)
|
||||
unsigned char *ptr, *pdata, *pbuf, *psnap_type;
|
||||
union recv_frame *pnrframe, *pnrframe_new;
|
||||
int a_len, mv_len, padding_len;
|
||||
u16 eth_type, type_len;
|
||||
u8 bsnaphdr;
|
||||
struct ieee80211_snap_hdr *psnap;
|
||||
struct _vlan *pvlan;
|
||||
struct recv_priv *precvpriv = &padapter->recvpriv;
|
||||
_queue *pfree_recv_queue = &(precvpriv->free_recv_queue);
|
||||
int ret = _SUCCESS;
|
||||
a_len = prframe->u.hdr.len - prframe->u.hdr.attrib.hdrlen;
|
||||
|
||||
recvframe_pull(prframe, prframe->u.hdr.attrib.hdrlen);
|
||||
|
||||
if(prframe->u.hdr.attrib.iv_len >0)
|
||||
{
|
||||
recvframe_pull(prframe, prframe->u.hdr.attrib.iv_len);
|
||||
}
|
||||
|
||||
pdata = prframe->u.hdr.rx_data;
|
||||
|
||||
prframe->u.hdr.len=0;
|
||||
|
||||
pnrframe = prframe;
|
||||
|
||||
|
||||
do{
|
||||
|
||||
mv_len=0;
|
||||
pnrframe->u.hdr.rx_data = pnrframe->u.hdr.rx_tail = pdata;
|
||||
ptr = pdata;
|
||||
|
||||
|
||||
_rtw_memcpy(pnrframe->u.hdr.attrib.dst, ptr, ETH_ALEN);
|
||||
ptr+=ETH_ALEN;
|
||||
_rtw_memcpy(pnrframe->u.hdr.attrib.src, ptr, ETH_ALEN);
|
||||
ptr+=ETH_ALEN;
|
||||
|
||||
_rtw_memcpy(&type_len, ptr, 2);
|
||||
type_len= ntohs((unsigned short )type_len);
|
||||
ptr +=2;
|
||||
mv_len += ETH_HLEN;
|
||||
|
||||
recvframe_put(pnrframe, type_len+ETH_HLEN);//update tail;
|
||||
|
||||
if(pnrframe->u.hdr.rx_data >= pnrframe->u.hdr.rx_tail || type_len<8)
|
||||
{
|
||||
//panic("pnrframe->u.hdr.rx_data >= pnrframe->u.hdr.rx_tail || type_len<8\n");
|
||||
|
||||
rtw_free_recvframe(pnrframe, pfree_recv_queue);
|
||||
|
||||
goto exit;
|
||||
}
|
||||
|
||||
psnap=(struct ieee80211_snap_hdr *)(ptr);
|
||||
psnap_type=ptr+SNAP_SIZE;
|
||||
if (psnap->dsap==0xaa && psnap->ssap==0xaa && psnap->ctrl==0x03)
|
||||
{
|
||||
if ( _rtw_memcmp(psnap->oui, oui_rfc1042, WLAN_IEEE_OUI_LEN))
|
||||
{
|
||||
bsnaphdr=_TRUE;//wlan_pkt_format = WLAN_PKT_FORMAT_SNAP_RFC1042;
|
||||
}
|
||||
else if (_rtw_memcmp(psnap->oui, SNAP_HDR_APPLETALK_DDP, WLAN_IEEE_OUI_LEN) &&
|
||||
_rtw_memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_DDP, 2) )
|
||||
{
|
||||
bsnaphdr=_TRUE; //wlan_pkt_format = WLAN_PKT_FORMAT_APPLETALK;
|
||||
}
|
||||
else if (_rtw_memcmp( psnap->oui, oui_8021h, WLAN_IEEE_OUI_LEN))
|
||||
{
|
||||
bsnaphdr=_TRUE; //wlan_pkt_format = WLAN_PKT_FORMAT_SNAP_TUNNEL;
|
||||
}
|
||||
else
|
||||
{
|
||||
RT_TRACE(_module_rtl871x_recv_c_,_drv_err_,("drop pkt due to invalid frame format!\n"));
|
||||
|
||||
//KeBugCheckEx(0x87123333, 0xe0, 0x4c, 0x87, 0xdd);
|
||||
|
||||
//panic("0x87123333, 0xe0, 0x4c, 0x87, 0xdd\n");
|
||||
|
||||
rtw_free_recvframe(pnrframe, pfree_recv_queue);
|
||||
|
||||
goto exit;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
bsnaphdr=_FALSE;//wlan_pkt_format = WLAN_PKT_FORMAT_OTHERS;
|
||||
}
|
||||
|
||||
ptr += (bsnaphdr?SNAP_SIZE:0);
|
||||
_rtw_memcpy(ð_type, ptr, 2);
|
||||
eth_type= ntohs((unsigned short )eth_type); //pattrib->ether_type
|
||||
|
||||
mv_len+= 2+(bsnaphdr?SNAP_SIZE:0);
|
||||
ptr += 2;//now move to iphdr;
|
||||
|
||||
pvlan = NULL;
|
||||
if(eth_type == 0x8100) //vlan
|
||||
{
|
||||
pvlan = (struct _vlan *)ptr;
|
||||
ptr+=4;
|
||||
mv_len+=4;
|
||||
}
|
||||
|
||||
if(eth_type==0x0800)//ip
|
||||
{
|
||||
struct iphdr* piphdr = (struct iphdr*)ptr;
|
||||
|
||||
|
||||
if (piphdr->protocol == 0x06)
|
||||
{
|
||||
RT_TRACE(_module_rtl871x_recv_c_,_drv_info_,("@@@===recv tcp len:%d @@@===\n", pnrframe->u.hdr.len));
|
||||
}
|
||||
}
|
||||
#ifdef PLATFORM_OS_XP
|
||||
else
|
||||
{
|
||||
NDIS_PACKET_8021Q_INFO VlanPriInfo;
|
||||
UINT32 UserPriority = pnrframe->u.hdr.attrib.priority;
|
||||
UINT32 VlanID = (pvlan!=NULL ? get_vlan_id(pvlan) : 0 );
|
||||
|
||||
VlanPriInfo.Value = // Get current value.
|
||||
NDIS_PER_PACKET_INFO_FROM_PACKET(pnrframe->u.hdr.pkt, Ieee8021QInfo);
|
||||
|
||||
VlanPriInfo.TagHeader.UserPriority = UserPriority;
|
||||
VlanPriInfo.TagHeader.VlanId = VlanID;
|
||||
|
||||
VlanPriInfo.TagHeader.CanonicalFormatId = 0; // Should be zero.
|
||||
VlanPriInfo.TagHeader.Reserved = 0; // Should be zero.
|
||||
NDIS_PER_PACKET_INFO_FROM_PACKET(pnrframe->u.hdr.pkt, Ieee8021QInfo) = VlanPriInfo.Value;
|
||||
|
||||
}
|
||||
#endif //PLATFORM_OS_XP
|
||||
|
||||
pbuf = recvframe_pull(pnrframe, (mv_len-sizeof(struct ethhdr)));
|
||||
|
||||
_rtw_memcpy(pbuf, pnrframe->u.hdr.attrib.dst, ETH_ALEN);
|
||||
_rtw_memcpy(pbuf+ETH_ALEN, pnrframe->u.hdr.attrib.src, ETH_ALEN);
|
||||
|
||||
eth_type = htons((unsigned short)eth_type) ;
|
||||
_rtw_memcpy(pbuf+12, ð_type, 2);
|
||||
|
||||
padding_len = (4) - ((type_len + ETH_HLEN)&(4-1));
|
||||
|
||||
a_len -= (type_len + ETH_HLEN + padding_len) ;
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
if(a_len > ETH_HLEN)
|
||||
{
|
||||
pnrframe_new = rtw_alloc_recvframe(pfree_recv_queue);
|
||||
if(pnrframe_new)
|
||||
{
|
||||
_pkt *pskb_copy;
|
||||
unsigned int copy_len = pnrframe->u.hdr.len;
|
||||
|
||||
_rtw_init_listhead(&pnrframe_new->u.hdr.list);
|
||||
|
||||
pskb_copy = rtw_skb_alloc(copy_len+64);
|
||||
|
||||
if(pskb_copy==NULL)
|
||||
{
|
||||
DBG_871X("amsdu_to_msdu:can not all(ocate memory for skb copy\n");
|
||||
}
|
||||
|
||||
pnrframe_new->u.hdr.pkt = pskb_copy;
|
||||
|
||||
_rtw_memcpy(pskb_copy->data, pnrframe->u.hdr.rx_data, copy_len);
|
||||
|
||||
pnrframe_new->u.hdr.rx_data = pnrframe->u.hdr.rx_data;
|
||||
pnrframe_new->u.hdr.rx_tail = pnrframe->u.hdr.rx_data + copy_len;
|
||||
|
||||
|
||||
if ((padapter->bDriverStopped ==_FALSE)&&( padapter->bSurpriseRemoved==_FALSE))
|
||||
{
|
||||
rtw_recv_indicatepkt(padapter, pnrframe_new);//indicate this recv_frame
|
||||
}
|
||||
else
|
||||
{
|
||||
rtw_free_recvframe(pnrframe_new, pfree_recv_queue);//free this recv_frame
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
DBG_871X("amsdu_to_msdu:can not allocate memory for pnrframe_new\n");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((padapter->bDriverStopped ==_FALSE)&&( padapter->bSurpriseRemoved==_FALSE))
|
||||
{
|
||||
rtw_recv_indicatepkt(padapter, pnrframe);//indicate this recv_frame
|
||||
}
|
||||
else
|
||||
{
|
||||
rtw_free_recvframe(pnrframe, pfree_recv_queue);//free this recv_frame
|
||||
}
|
||||
|
||||
pnrframe = NULL;
|
||||
|
||||
}
|
||||
|
||||
#else // 0
|
||||
|
||||
//padding_len = (4) - ((type_len + ETH_HLEN)&(4-1));
|
||||
|
||||
//a_len -= (type_len + ETH_HLEN + padding_len) ;
|
||||
|
||||
pnrframe_new = NULL;
|
||||
|
||||
|
||||
if(a_len > ETH_HLEN)
|
||||
{
|
||||
pnrframe_new = rtw_alloc_recvframe(pfree_recv_queue);
|
||||
|
||||
if(pnrframe_new)
|
||||
{
|
||||
|
||||
|
||||
//pnrframe_new->u.hdr.precvbuf = precvbuf;//precvbuf is assigned before call rtw_init_recvframe()
|
||||
//rtw_init_recvframe(pnrframe_new, precvpriv);
|
||||
{
|
||||
#ifdef PLATFORM_LINUX
|
||||
_pkt *pskb = pnrframe->u.hdr.pkt;
|
||||
#endif //PLATFORM_LINUX
|
||||
_rtw_init_listhead(&pnrframe_new->u.hdr.list);
|
||||
|
||||
pnrframe_new->u.hdr.len=0;
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
if(pskb)
|
||||
{
|
||||
pnrframe_new->u.hdr.pkt = rtw_skb_clone(pskb);
|
||||
}
|
||||
#endif //PLATFORM_LINUX
|
||||
|
||||
}
|
||||
|
||||
pdata += (type_len + ETH_HLEN + padding_len);
|
||||
pnrframe_new->u.hdr.rx_head = pnrframe_new->u.hdr.rx_data = pnrframe_new->u.hdr.rx_tail = pdata;
|
||||
pnrframe_new->u.hdr.rx_end = pdata + a_len + padding_len;//
|
||||
}
|
||||
else
|
||||
{
|
||||
//panic("pnrframe_new=%x\n", pnrframe_new);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((padapter->bDriverStopped ==_FALSE)&&( padapter->bSurpriseRemoved==_FALSE) )
|
||||
{
|
||||
rtw_recv_indicatepkt(padapter, pnrframe);//indicate this recv_frame
|
||||
}
|
||||
else
|
||||
{
|
||||
rtw_free_recvframe(pnrframe, pfree_recv_queue);//free this recv_frame
|
||||
}
|
||||
|
||||
|
||||
pnrframe = NULL;
|
||||
if(pnrframe_new)
|
||||
{
|
||||
pnrframe = pnrframe_new;
|
||||
}
|
||||
|
||||
|
||||
#endif // end defined (PLATFORM_LINUX) || defined (PLATFORM_FREEBSD)
|
||||
|
||||
}while(pnrframe);
|
||||
|
||||
exit:
|
||||
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num);
|
||||
int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num)
|
||||
{
|
||||
u8 wsize = preorder_ctrl->wsize_b;
|
||||
|
|
|
@ -973,13 +973,11 @@ static void next_key(u8 *key, sint round);
|
|||
static void byte_sub(u8 *in, u8 *out);
|
||||
static void shift_row(u8 *in, u8 *out);
|
||||
static void mix_column(u8 *in, u8 *out);
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
static void add_round_key( u8 *shiftrow_in,
|
||||
u8 *mcol_in,
|
||||
u8 *block_in,
|
||||
sint round,
|
||||
u8 *out);
|
||||
#endif //PLATFORM_FREEBSD
|
||||
static void aes128k128d(u8 *key, u8 *data, u8 *ciphertext);
|
||||
|
||||
|
||||
|
@ -2195,7 +2193,6 @@ BIP_exit:
|
|||
}
|
||||
#endif //CONFIG_IEEE80211W
|
||||
|
||||
#ifndef PLATFORM_FREEBSD
|
||||
/* compress 512-bits */
|
||||
static int sha256_compress(struct sha256_state *md, unsigned char *buf)
|
||||
{
|
||||
|
@ -2461,7 +2458,6 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
|
|||
_len[1] = 32;
|
||||
sha256_vector(2, _addr, _len, mac);
|
||||
}
|
||||
#endif //PLATFORM_FREEBSD
|
||||
/**
|
||||
* sha256_prf - SHA256-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2)
|
||||
* @key: Key for PRF
|
||||
|
@ -2475,7 +2471,6 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
|
|||
* This function is used to derive new, cryptographically separate keys from a
|
||||
* given key.
|
||||
*/
|
||||
#ifndef PLATFORM_FREEBSD //Baron
|
||||
static void sha256_prf(u8 *key, size_t key_len, char *label,
|
||||
u8 *data, size_t data_len, u8 *buf, size_t buf_len)
|
||||
{
|
||||
|
@ -2512,7 +2507,6 @@ static void sha256_prf(u8 *key, size_t key_len, char *label,
|
|||
counter++;
|
||||
}
|
||||
}
|
||||
#endif //PLATFORM_FREEBSD Baron
|
||||
|
||||
/* AES tables*/
|
||||
const u32 Te0[256] = {
|
||||
|
@ -2691,7 +2685,6 @@ const u8 rcons[] = {
|
|||
*
|
||||
* @return the number of rounds for the given cipher key size.
|
||||
*/
|
||||
#ifndef PLATFORM_FREEBSD //Baron
|
||||
static void rijndaelKeySetupEnc(u32 rk[/*44*/], const u8 cipherKey[])
|
||||
{
|
||||
int i;
|
||||
|
@ -2907,7 +2900,6 @@ int omac1_aes_128(u8 *key, u8 *data, size_t data_len, u8 *mac)
|
|||
{
|
||||
return omac1_aes_128_vector(key, 1, &data, &data_len, mac);
|
||||
}
|
||||
#endif //PLATFORM_FREEBSD Baron
|
||||
|
||||
#ifdef CONFIG_TDLS
|
||||
void wpa_tdls_generate_tpk(_adapter *padapter, struct sta_info *psta)
|
||||
|
@ -3082,9 +3074,6 @@ int tdls_verify_mic(u8 *kck, u8 trans_seq,
|
|||
#ifdef PLATFORM_LINUX
|
||||
void rtw_use_tkipkey_handler(void *FunctionContext)
|
||||
#endif
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
void rtw_use_tkipkey_handler(void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
_adapter *padapter = (_adapter *)FunctionContext;
|
||||
|
||||
|
@ -3093,14 +3082,6 @@ _func_enter_;
|
|||
|
||||
RT_TRACE(_module_rtl871x_security_c_,_drv_err_,("^^^rtw_use_tkipkey_handler ^^^\n"));
|
||||
|
||||
/*
|
||||
if(padapter->bDriverStopped ||padapter->bSurpriseRemoved){
|
||||
RT_TRACE(_module_rtl871x_security_c_,_drv_err_,("^^^rtw_use_tkipkey_handler (padapter->bDriverStopped %d)(padapter->bSurpriseRemoved %d)^^^\n",padapter->bDriverStopped,padapter->bSurpriseRemoved));
|
||||
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
padapter->securitypriv.busetkipkey=_TRUE;
|
||||
|
||||
RT_TRACE(_module_rtl871x_security_c_,_drv_err_,("^^^rtw_use_tkipkey_handler padapter->securitypriv.busetkipkey=%d^^^\n",padapter->securitypriv.busetkipkey));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue