mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-05-09 06:43:06 +00:00
rtl8188eu: CONFIG_TDLS
This variable is not defined. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
c372b989e3
commit
1bb0401638
22 changed files with 12 additions and 4974 deletions
|
@ -250,12 +250,6 @@ static void init_mlme_ext_priv_value(struct adapter* padapter)
|
|||
{
|
||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||
|
||||
#ifdef CONFIG_TDLS
|
||||
u8 i;
|
||||
#endif
|
||||
|
||||
/* unsigned char default_channel_set[MAX_CHANNEL_NUM] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0}; */
|
||||
unsigned char mixed_datarate[NumRates] = {_1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_, _6M_RATE_,_9M_RATE_, _12M_RATE_, _18M_RATE_, _24M_RATE_, _36M_RATE_, _48M_RATE_, _54M_RATE_, 0xff};
|
||||
unsigned char mixed_basicrate[NumRates] ={_1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_, _6M_RATE_, _12M_RATE_, _24M_RATE_, 0xff,};
|
||||
|
||||
|
@ -608,16 +602,6 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame)
|
|||
|
||||
index = GetFrameSubType(pframe) >> 4;
|
||||
|
||||
#ifdef CONFIG_TDLS
|
||||
if((index << 4)==WIFI_ACTION){
|
||||
/* category==public (4), action==TDLS_DISCOVERY_RESPONSE */
|
||||
if(*(pframe+24)==0x04 && *(pframe+25)==TDLS_DISCOVERY_RESPONSE){
|
||||
DBG_871X("recv tdls discovery response frame\n");
|
||||
On_TDLS_Dis_Rsp(padapter, precv_frame);
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_TDLS */
|
||||
|
||||
if (index > 13)
|
||||
{
|
||||
RT_TRACE(_module_rtl871x_mlme_c_,_drv_err_,("Currently we do not support reserved sub-fr-type=%d\n", index));
|
||||
|
@ -2356,15 +2340,6 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
|
|||
category = frame_body[0];
|
||||
if (category == RTW_WLAN_CATEGORY_BACK)/* representing Block Ack */
|
||||
{
|
||||
#ifdef CONFIG_TDLS
|
||||
if((psta->tdls_sta_state & TDLS_LINKED_STATE) &&
|
||||
(psta->htpriv.ht_option==true) &&
|
||||
(psta->htpriv.ampdu_enable==true) )
|
||||
{
|
||||
/* do nothing; just don't want to return _SUCCESS; */
|
||||
}
|
||||
else
|
||||
#endif /* CONFIG_TDLS */
|
||||
if (!pmlmeinfo->HT_enable)
|
||||
{
|
||||
return _SUCCESS;
|
||||
|
@ -10448,11 +10423,6 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
|
|||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
|
||||
struct set_stakey_parm *pparm = (struct set_stakey_parm *)pbuf;
|
||||
#ifdef CONFIG_TDLS
|
||||
struct tdls_info *ptdlsinfo = &padapter->tdlsinfo;
|
||||
struct sta_priv *pstapriv = &padapter->stapriv;
|
||||
struct sta_info *psta;
|
||||
#endif /* CONFIG_TDLS */
|
||||
|
||||
/* cam_entry: */
|
||||
/* 0~3 for default key */
|
||||
|
@ -10525,20 +10495,6 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
|
|||
|
||||
ctrl = BIT(15) | ((pparm->algorithm) << 2);
|
||||
|
||||
#ifdef CONFIG_TDLS
|
||||
if(ptdlsinfo->clear_cam!=0){
|
||||
clear_cam_entry(padapter, ptdlsinfo->clear_cam);
|
||||
ptdlsinfo->clear_cam=0;
|
||||
|
||||
return H2C_SUCCESS;
|
||||
}
|
||||
|
||||
psta = rtw_get_stainfo(pstapriv, pparm->addr);/* Get TDLS Peer STA */
|
||||
if( psta->tdls_sta_state&TDLS_LINKED_STATE ){
|
||||
write_cam(padapter, psta->mac_id, ctrl, pparm->addr, pparm->key);
|
||||
}
|
||||
else
|
||||
#endif /* CONFIG_TDLS */
|
||||
write_cam(padapter, cam_id, ctrl, pparm->addr, pparm->key);
|
||||
|
||||
pmlmeinfo->enc_algo = pparm->algorithm;
|
||||
|
@ -10567,20 +10523,7 @@ u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf)
|
|||
pparm->tid);
|
||||
/* _set_timer(&pmlmeext->ADDBA_timer, ADDBA_TO); */
|
||||
_set_timer(&psta->addba_retry_timer, ADDBA_TO);
|
||||
}
|
||||
#ifdef CONFIG_TDLS
|
||||
else if((psta->tdls_sta_state & TDLS_LINKED_STATE)&&
|
||||
(psta->htpriv.ht_option==true) &&
|
||||
(psta->htpriv.ampdu_enable==true) )
|
||||
{
|
||||
issue_action_BA(padapter, pparm->addr, RTW_WLAN_ACTION_ADDBA_REQ,
|
||||
pparm->tid);
|
||||
/* _set_timer(&pmlmeext->ADDBA_timer, ADDBA_TO); */
|
||||
_set_timer(&psta->addba_retry_timer, ADDBA_TO);
|
||||
}
|
||||
#endif /* CONFIG */
|
||||
else
|
||||
{
|
||||
} else {
|
||||
psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid);
|
||||
}
|
||||
return H2C_SUCCESS;
|
||||
|
@ -10953,163 +10896,5 @@ u8 set_csa_hdl(struct adapter *padapter, unsigned char *pbuf)
|
|||
/* TDLS_FREE_STA : free tdls sta */
|
||||
u8 tdls_hdl(struct adapter *padapter, unsigned char *pbuf)
|
||||
{
|
||||
#ifdef CONFIG_TDLS
|
||||
_irqL irqL;
|
||||
struct tdls_info *ptdlsinfo = &padapter->tdlsinfo;
|
||||
struct TDLSoption_param *TDLSoption;
|
||||
struct sta_info *ptdls_sta;
|
||||
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
|
||||
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
|
||||
u8 survey_channel, i, min, option;
|
||||
|
||||
if(!pbuf)
|
||||
return H2C_PARAMETERS_ERROR;
|
||||
|
||||
TDLSoption = (struct TDLSoption_param *)pbuf;
|
||||
|
||||
ptdls_sta = rtw_get_stainfo( &(padapter->stapriv), TDLSoption->addr );
|
||||
option = TDLSoption->option;
|
||||
|
||||
if( ptdls_sta == NULL )
|
||||
{
|
||||
if( option != TDLS_RS_RCR )
|
||||
return H2C_REJECTED;
|
||||
}
|
||||
|
||||
/* _enter_critical_bh(&(ptdlsinfo->hdl_lock), &irqL); */
|
||||
DBG_871X("[%s] option:%d\n", __FUNCTION__, option);
|
||||
|
||||
switch(option){
|
||||
case TDLS_WRCR:
|
||||
/* As long as TDLS handshake success, we should set RCR_CBSSID_DATA bit to 0 */
|
||||
/* such we can receive all kinds of data frames. */
|
||||
rtw_hal_set_hwreg(padapter, HW_VAR_TDLS_WRCR, 0);
|
||||
DBG_871X("TDLS with "MAC_FMT"\n", MAC_ARG(ptdls_sta->hwaddr));
|
||||
|
||||
pmlmeinfo->FW_sta_info[ptdls_sta->mac_id].psta = ptdls_sta;
|
||||
/* set TDLS sta rate. */
|
||||
set_sta_rate(padapter, ptdls_sta);
|
||||
break;
|
||||
case TDLS_SD_PTI:
|
||||
issue_tdls_peer_traffic_indication(padapter, ptdls_sta);
|
||||
break;
|
||||
case TDLS_CS_OFF:
|
||||
_cancel_timer_ex(&ptdls_sta->base_ch_timer);
|
||||
_cancel_timer_ex(&ptdls_sta->off_ch_timer);
|
||||
SelectChannel(padapter, pmlmeext->cur_channel);
|
||||
ptdls_sta->tdls_sta_state &= ~(TDLS_CH_SWITCH_ON_STATE |
|
||||
TDLS_PEER_AT_OFF_STATE |
|
||||
TDLS_AT_OFF_CH_STATE);
|
||||
DBG_871X("go back to base channel\n ");
|
||||
issue_nulldata(padapter, NULL, 0, 0, 0);
|
||||
break;
|
||||
case TDLS_INIT_CH_SEN:
|
||||
rtw_hal_set_hwreg(padapter, HW_VAR_TDLS_INIT_CH_SEN, 0);
|
||||
pmlmeext->sitesurvey_res.channel_idx = 0;
|
||||
ptdls_sta->option = TDLS_DONE_CH_SEN;
|
||||
rtw_tdls_cmd(padapter, ptdls_sta->hwaddr, TDLS_DONE_CH_SEN);
|
||||
break;
|
||||
case TDLS_DONE_CH_SEN:
|
||||
survey_channel = pmlmeext->channel_set[pmlmeext->sitesurvey_res.channel_idx].ChannelNum;
|
||||
if(survey_channel){
|
||||
SelectChannel(padapter, survey_channel);
|
||||
ptdlsinfo->cur_channel = survey_channel;
|
||||
pmlmeext->sitesurvey_res.channel_idx++;
|
||||
_set_timer(&ptdls_sta->option_timer, SURVEY_TO);
|
||||
}else{
|
||||
SelectChannel(padapter, pmlmeext->cur_channel);
|
||||
|
||||
rtw_hal_set_hwreg(padapter, HW_VAR_TDLS_DONE_CH_SEN, 0);
|
||||
|
||||
if(ptdlsinfo->ch_sensing==1){
|
||||
ptdlsinfo->ch_sensing=0;
|
||||
ptdlsinfo->cur_channel=1;
|
||||
min=ptdlsinfo->collect_pkt_num[0];
|
||||
for(i=1; i<MAX_CHANNEL_NUM-1; i++){
|
||||
if(min > ptdlsinfo->collect_pkt_num[i]){
|
||||
ptdlsinfo->cur_channel=i+1;
|
||||
min=ptdlsinfo->collect_pkt_num[i];
|
||||
}
|
||||
ptdlsinfo->collect_pkt_num[i]=0;
|
||||
}
|
||||
ptdlsinfo->collect_pkt_num[0]=0;
|
||||
ptdlsinfo->candidate_ch=ptdlsinfo->cur_channel;
|
||||
DBG_871X("TDLS channel sensing done, candidate channel: %02x\n", ptdlsinfo->candidate_ch);
|
||||
ptdlsinfo->cur_channel=0;
|
||||
|
||||
}
|
||||
|
||||
if(ptdls_sta->tdls_sta_state & TDLS_PEER_SLEEP_STATE){
|
||||
ptdls_sta->tdls_sta_state |= TDLS_APSD_CHSW_STATE;
|
||||
}else{
|
||||
/* send null data with pwrbit==1 before send ch_switching_req to peer STA. */
|
||||
issue_nulldata(padapter, NULL, 1, 0, 0);
|
||||
|
||||
ptdls_sta->tdls_sta_state |= TDLS_CH_SW_INITIATOR_STATE;
|
||||
|
||||
issue_tdls_ch_switch_req(padapter, ptdls_sta->hwaddr);
|
||||
DBG_871X("issue tdls ch switch req\n");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TDLS_OFF_CH:
|
||||
issue_nulldata(padapter, NULL, 1, 0, 0);
|
||||
SelectChannel(padapter, ptdls_sta->off_ch);
|
||||
|
||||
DBG_871X("change channel to tar ch:%02x\n", ptdls_sta->off_ch);
|
||||
ptdls_sta->tdls_sta_state |= TDLS_AT_OFF_CH_STATE;
|
||||
ptdls_sta->tdls_sta_state &= ~(TDLS_PEER_AT_OFF_STATE);
|
||||
_set_timer(&ptdls_sta->option_timer, (u32)ptdls_sta->ch_switch_time);
|
||||
break;
|
||||
case TDLS_BASE_CH:
|
||||
_cancel_timer_ex(&ptdls_sta->base_ch_timer);
|
||||
_cancel_timer_ex(&ptdls_sta->off_ch_timer);
|
||||
SelectChannel(padapter, pmlmeext->cur_channel);
|
||||
ptdls_sta->tdls_sta_state &= ~(TDLS_CH_SWITCH_ON_STATE |
|
||||
TDLS_PEER_AT_OFF_STATE |
|
||||
TDLS_AT_OFF_CH_STATE);
|
||||
DBG_871X("go back to base channel\n ");
|
||||
issue_nulldata(padapter, NULL, 0, 0, 0);
|
||||
_set_timer(&ptdls_sta->option_timer, (u32)ptdls_sta->ch_switch_time);
|
||||
break;
|
||||
case TDLS_P_OFF_CH:
|
||||
SelectChannel(padapter, pmlmeext->cur_channel);
|
||||
issue_nulldata(padapter, NULL, 0, 0, 0);
|
||||
DBG_871X("change channel to base ch:%02x\n", pmlmeext->cur_channel);
|
||||
ptdls_sta->tdls_sta_state &= ~(TDLS_PEER_AT_OFF_STATE| TDLS_AT_OFF_CH_STATE);
|
||||
_set_timer(&ptdls_sta->off_ch_timer, TDLS_STAY_TIME);
|
||||
break;
|
||||
case TDLS_P_BASE_CH:
|
||||
issue_nulldata(ptdls_sta->padapter, NULL, 1, 0, 0);
|
||||
SelectChannel(padapter, ptdls_sta->off_ch);
|
||||
DBG_871X("change channel to off ch:%02x\n", ptdls_sta->off_ch);
|
||||
ptdls_sta->tdls_sta_state |= TDLS_AT_OFF_CH_STATE;
|
||||
if((ptdls_sta->tdls_sta_state & TDLS_PEER_AT_OFF_STATE) != TDLS_PEER_AT_OFF_STATE){
|
||||
issue_nulldata_to_TDLS_peer_STA(padapter, ptdls_sta, 0);
|
||||
}
|
||||
_set_timer(&ptdls_sta->base_ch_timer, TDLS_STAY_TIME);
|
||||
break;
|
||||
case TDLS_RS_RCR:
|
||||
rtw_hal_set_hwreg(padapter, HW_VAR_TDLS_RS_RCR, 0);
|
||||
DBG_871X("wirte REG_RCR, set bit6 on\n");
|
||||
break;
|
||||
case TDLS_CKALV_PH1:
|
||||
_set_timer(&ptdls_sta->alive_timer2, TDLS_ALIVE_TIMER_PH2);
|
||||
break;
|
||||
case TDLS_CKALV_PH2:
|
||||
_set_timer(&ptdls_sta->alive_timer1, TDLS_ALIVE_TIMER_PH1);
|
||||
break;
|
||||
case TDLS_FREE_STA:
|
||||
free_tdls_sta(padapter, ptdls_sta);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
/* _exit_critical_bh(&(ptdlsinfo->hdl_lock), &irqL); */
|
||||
|
||||
return H2C_SUCCESS;
|
||||
#else
|
||||
return H2C_REJECTED;
|
||||
#endif /* CONFIG_TDLS */
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue