Staging: rt2860: remove dead QOS_DLS_SUPPORT code

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2009-04-26 16:05:07 +02:00 committed by Greg Kroah-Hartman
parent e554fb2f82
commit 0aa7c8ddc0
19 changed files with 1 additions and 3337 deletions

View File

@ -72,9 +72,6 @@ VOID ActionStateMachineInit(
StateMachineSetAction(S, ACT_IDLE, MT2_PEER_QOS_CATE, (STATE_MACHINE_FUNC)PeerQOSAction); StateMachineSetAction(S, ACT_IDLE, MT2_PEER_QOS_CATE, (STATE_MACHINE_FUNC)PeerQOSAction);
StateMachineSetAction(S, ACT_IDLE, MT2_PEER_DLS_CATE, (STATE_MACHINE_FUNC)ReservedAction); StateMachineSetAction(S, ACT_IDLE, MT2_PEER_DLS_CATE, (STATE_MACHINE_FUNC)ReservedAction);
#ifdef QOS_DLS_SUPPORT
StateMachineSetAction(S, ACT_IDLE, MT2_PEER_DLS_CATE, (STATE_MACHINE_FUNC)PeerDLSAction);
#endif // QOS_DLS_SUPPORT //
#ifdef DOT11_N_SUPPORT #ifdef DOT11_N_SUPPORT
StateMachineSetAction(S, ACT_IDLE, MT2_PEER_BA_CATE, (STATE_MACHINE_FUNC)PeerBAAction); StateMachineSetAction(S, ACT_IDLE, MT2_PEER_BA_CATE, (STATE_MACHINE_FUNC)PeerBAAction);
@ -137,13 +134,7 @@ VOID MlmeADDBAAction(
if (ADHOC_ON(pAd)) if (ADHOC_ON(pAd))
ActHeaderInit(pAd, &Frame.Hdr, pInfo->pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid); ActHeaderInit(pAd, &Frame.Hdr, pInfo->pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else else
#ifdef QOS_DLS_SUPPORT
if (pAd->MacTab.Content[pInfo->Wcid].ValidAsDls)
ActHeaderInit(pAd, &Frame.Hdr, pInfo->pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else
#endif // QOS_DLS_SUPPORT //
ActHeaderInit(pAd, &Frame.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pInfo->pAddr); ActHeaderInit(pAd, &Frame.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pInfo->pAddr);
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
@ -247,11 +238,6 @@ VOID MlmeDELBAAction(
if (ADHOC_ON(pAd)) if (ADHOC_ON(pAd))
ActHeaderInit(pAd, &Frame.Hdr, pAd->MacTab.Content[pInfo->Wcid].Addr, pAd->CurrentAddress, pAd->CommonCfg.Bssid); ActHeaderInit(pAd, &Frame.Hdr, pAd->MacTab.Content[pInfo->Wcid].Addr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else else
#ifdef QOS_DLS_SUPPORT
if (pAd->MacTab.Content[pInfo->Wcid].ValidAsDls)
ActHeaderInit(pAd, &Frame.Hdr, pAd->MacTab.Content[pInfo->Wcid].Addr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else
#endif // QOS_DLS_SUPPORT //
ActHeaderInit(pAd, &Frame.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pAd->MacTab.Content[pInfo->Wcid].Addr); ActHeaderInit(pAd, &Frame.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pAd->MacTab.Content[pInfo->Wcid].Addr);
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
@ -299,39 +285,6 @@ VOID PeerQOSAction(
{ {
} }
#ifdef QOS_DLS_SUPPORT
VOID PeerDLSAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem)
{
UCHAR Action = Elem->Msg[LENGTH_802_11+1];
switch(Action)
{
case ACTION_DLS_REQUEST:
#ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
PeerDlsReqAction(pAd, Elem);
#endif // CONFIG_STA_SUPPORT //
break;
case ACTION_DLS_RESPONSE:
#ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
PeerDlsRspAction(pAd, Elem);
#endif // CONFIG_STA_SUPPORT //
break;
case ACTION_DLS_TEARDOWN:
#ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
PeerDlsTearDownAction(pAd, Elem);
#endif // CONFIG_STA_SUPPORT //
break;
}
}
#endif // QOS_DLS_SUPPORT //
#ifdef DOT11_N_SUPPORT #ifdef DOT11_N_SUPPORT
VOID PeerBAAction( VOID PeerBAAction(
IN PRTMP_ADAPTER pAd, IN PRTMP_ADAPTER pAd,

View File

@ -1230,11 +1230,6 @@ VOID PeerAddBAReqAction(
if (ADHOC_ON(pAd)) if (ADHOC_ON(pAd))
ActHeaderInit(pAd, &ADDframe.Hdr, pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid); ActHeaderInit(pAd, &ADDframe.Hdr, pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else else
#ifdef QOS_DLS_SUPPORT
if (pAd->MacTab.Content[Elem->Wcid].ValidAsDls)
ActHeaderInit(pAd, &ADDframe.Hdr, pAddr, pAd->CurrentAddress, pAd->CommonCfg.Bssid);
else
#endif // QOS_DLS_SUPPORT //
ActHeaderInit(pAd, &ADDframe.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pAddr); ActHeaderInit(pAd, &ADDframe.Hdr, pAd->CommonCfg.Bssid, pAd->CurrentAddress, pAddr);
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //

View File

@ -1399,15 +1399,6 @@ VOID RTMPWriteTxWI_Data(
pTxWI->ACK = TX_BLK_TEST_FLAG(pTxBlk, fTX_bAckRequired); pTxWI->ACK = TX_BLK_TEST_FLAG(pTxBlk, fTX_bAckRequired);
pTxWI->txop = pTxBlk->FrameGap; pTxWI->txop = pTxBlk->FrameGap;
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
if (pMacEntry &&
(pAd->StaCfg.BssType == BSS_INFRA) &&
(pMacEntry->ValidAsDls == TRUE))
pTxWI->WirelessCliID = BSSID_WCID;
else
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
pTxWI->WirelessCliID = pTxBlk->Wcid; pTxWI->WirelessCliID = pTxBlk->Wcid;
pTxWI->MPDUtotalByteCount = pTxBlk->MpduHeaderLen + pTxBlk->SrcBufLen; pTxWI->MPDUtotalByteCount = pTxBlk->MpduHeaderLen + pTxBlk->SrcBufLen;
@ -2401,11 +2392,6 @@ MAC_TABLE_ENTRY *MacTableInsertEntry(
(pAd->MacTab.Content[i].ValidAsWDS == FALSE) && (pAd->MacTab.Content[i].ValidAsWDS == FALSE) &&
(pAd->MacTab.Content[i].ValidAsApCli== FALSE) && (pAd->MacTab.Content[i].ValidAsApCli== FALSE) &&
(pAd->MacTab.Content[i].ValidAsMesh == FALSE) (pAd->MacTab.Content[i].ValidAsMesh == FALSE)
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
&& (pAd->MacTab.Content[i].ValidAsDls == FALSE)
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
) )
{ {
pEntry = &pAd->MacTab.Content[i]; pEntry = &pAd->MacTab.Content[i];
@ -2417,20 +2403,6 @@ MAC_TABLE_ENTRY *MacTableInsertEntry(
pEntry->PairwiseKey.KeyLen = 0; pEntry->PairwiseKey.KeyLen = 0;
pEntry->PairwiseKey.CipherAlg = CIPHER_NONE; pEntry->PairwiseKey.CipherAlg = CIPHER_NONE;
} }
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
if (apidx >= MIN_NET_DEVICE_FOR_DLS)
{
pEntry->ValidAsCLI = FALSE;
pEntry->ValidAsWDS = FALSE;
pEntry->ValidAsApCli = FALSE;
pEntry->ValidAsMesh = FALSE;
pEntry->ValidAsDls = TRUE;
pEntry->isCached = FALSE;
}
else
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
{ {
#ifdef CONFIG_STA_SUPPORT #ifdef CONFIG_STA_SUPPORT
@ -2459,12 +2431,6 @@ MAC_TABLE_ENTRY *MacTableInsertEntry(
pEntry->apidx = (apidx - MIN_NET_DEVICE_FOR_APCLI); pEntry->apidx = (apidx - MIN_NET_DEVICE_FOR_APCLI);
else if (pEntry->ValidAsWDS) else if (pEntry->ValidAsWDS)
pEntry->apidx = (apidx - MIN_NET_DEVICE_FOR_WDS); pEntry->apidx = (apidx - MIN_NET_DEVICE_FOR_WDS);
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
else if (pEntry->ValidAsDls)
pEntry->apidx = (apidx - MIN_NET_DEVICE_FOR_DLS);
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
else else
pEntry->apidx = apidx; pEntry->apidx = apidx;
@ -2489,11 +2455,6 @@ MAC_TABLE_ENTRY *MacTableInsertEntry(
(pAd->StaCfg.BssType == BSS_ADHOC)) (pAd->StaCfg.BssType == BSS_ADHOC))
pEntry->PortSecured = WPA_802_1X_PORT_SECURED; pEntry->PortSecured = WPA_802_1X_PORT_SECURED;
else else
#ifdef QOS_DLS_SUPPORT
if (pEntry->ValidAsDls == TRUE)
pEntry->PortSecured = WPA_802_1X_PORT_SECURED;
else
#endif //QOS_DLS_SUPPORT
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
pEntry->PortSecured = WPA_802_1X_PORT_NOT_SECURED; pEntry->PortSecured = WPA_802_1X_PORT_NOT_SECURED;
pEntry->PMKID_CacheIdx = ENTRY_NOT_FOUND; pEntry->PMKID_CacheIdx = ENTRY_NOT_FOUND;
@ -2565,11 +2526,6 @@ BOOLEAN MacTableDeleteEntry(
pEntry = &pAd->MacTab.Content[wcid]; pEntry = &pAd->MacTab.Content[wcid];
if (pEntry && (pEntry->ValidAsCLI || pEntry->ValidAsApCli || pEntry->ValidAsWDS || pEntry->ValidAsMesh if (pEntry && (pEntry->ValidAsCLI || pEntry->ValidAsApCli || pEntry->ValidAsWDS || pEntry->ValidAsMesh
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
|| pEntry->ValidAsDls
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
)) ))
{ {
if (MAC_ADDR_EQUAL(pEntry->Addr, pAddr)) if (MAC_ADDR_EQUAL(pEntry->Addr, pAddr))

View File

@ -1748,11 +1748,6 @@ VOID RTMPAddWcidAttributeEntry(
Wcid = pEntry->Aid; Wcid = pEntry->Aid;
else if (pEntry && INFRA_ON(pAd)) else if (pEntry && INFRA_ON(pAd))
{ {
#ifdef QOS_DLS_SUPPORT
if (pEntry->ValidAsDls == TRUE)
Wcid = pEntry->Aid;
else
#endif // QOS_DLS_SUPPORT //
Wcid = BSSID_WCID; Wcid = BSSID_WCID;
} }
else else
@ -1769,14 +1764,6 @@ VOID RTMPAddWcidAttributeEntry(
{ {
if (pEntry && pEntry->ValidAsMesh) if (pEntry && pEntry->ValidAsMesh)
WCIDAttri = (CipherAlg<<1) | PAIRWISEKEYTABLE; WCIDAttri = (CipherAlg<<1) | PAIRWISEKEYTABLE;
#ifdef QOS_DLS_SUPPORT
else if ((pEntry) && (pEntry->ValidAsDls) &&
((CipherAlg == CIPHER_TKIP) ||
(CipherAlg == CIPHER_TKIP_NO_MIC) ||
(CipherAlg == CIPHER_AES) ||
(CipherAlg == CIPHER_NONE)))
WCIDAttri = (CipherAlg<<1) | PAIRWISEKEYTABLE;
#endif // QOS_DLS_SUPPORT //
else else
WCIDAttri = (CipherAlg<<1) | SHAREDKEYTABLE; WCIDAttri = (CipherAlg<<1) | SHAREDKEYTABLE;
} }

View File

@ -1344,290 +1344,3 @@ BOOLEAN PeerWpaMessageSanity(
return TRUE; return TRUE;
} }
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
BOOLEAN MlmeDlsReqSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PRT_802_11_DLS *pDLS,
OUT PUSHORT pReason)
{
MLME_DLS_REQ_STRUCT *pInfo;
pInfo = (MLME_DLS_REQ_STRUCT *)Msg;
*pDLS = pInfo->pDLS;
*pReason = pInfo->Reason;
return TRUE;
}
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
#ifdef QOS_DLS_SUPPORT
BOOLEAN PeerDlsReqSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pCapabilityInfo,
OUT USHORT *pDlsTimeout,
OUT UCHAR *pRatesLen,
OUT UCHAR Rates[],
OUT UCHAR *pHtCapabilityLen,
OUT HT_CAPABILITY_IE *pHtCapability)
{
CHAR *Ptr;
PFRAME_802_11 Fr = (PFRAME_802_11)Msg;
PEID_STRUCT eid_ptr;
// to prevent caller from using garbage output value
*pCapabilityInfo = 0;
*pDlsTimeout = 0;
*pHtCapabilityLen = 0;
Ptr = Fr->Octet;
// offset to destination MAC address (Category and Action field)
Ptr += 2;
// get DA from payload and advance the pointer
NdisMoveMemory(pDA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
// get SA from payload and advance the pointer
NdisMoveMemory(pSA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
// get capability info from payload and advance the pointer
NdisMoveMemory(pCapabilityInfo, Ptr, 2);
Ptr += 2;
// get capability info from payload and advance the pointer
NdisMoveMemory(pDlsTimeout, Ptr, 2);
Ptr += 2;
// Category and Action field + DA + SA + capability + Timeout
eid_ptr = (PEID_STRUCT) &Fr->Octet[18];
while (((UCHAR*)eid_ptr + eid_ptr->Len + 1) < ((UCHAR*)Fr + MsgLen))
{
switch(eid_ptr->Eid)
{
case IE_SUPP_RATES:
if ((eid_ptr->Len <= MAX_LEN_OF_SUPPORTED_RATES) && (eid_ptr->Len > 0))
{
NdisMoveMemory(Rates, eid_ptr->Octet, eid_ptr->Len);
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsReqSanity - IE_SUPP_RATES., Len=%d. Rates[0]=%x\n",eid_ptr->Len, Rates[0]));
DBGPRINT(RT_DEBUG_TRACE, ("Rates[1]=%x %x %x %x %x %x %x\n", Rates[1], Rates[2], Rates[3], Rates[4], Rates[5], Rates[6], Rates[7]));
*pRatesLen = eid_ptr->Len;
}
else
{
*pRatesLen = 8;
Rates[0] = 0x82;
Rates[1] = 0x84;
Rates[2] = 0x8b;
Rates[3] = 0x96;
Rates[4] = 0x12;
Rates[5] = 0x24;
Rates[6] = 0x48;
Rates[7] = 0x6c;
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsReqSanity - wrong IE_SUPP_RATES., Len=%d\n",eid_ptr->Len));
}
break;
case IE_EXT_SUPP_RATES:
if (eid_ptr->Len + *pRatesLen <= MAX_LEN_OF_SUPPORTED_RATES)
{
NdisMoveMemory(&Rates[*pRatesLen], eid_ptr->Octet, eid_ptr->Len);
*pRatesLen = (*pRatesLen) + eid_ptr->Len;
}
else
{
NdisMoveMemory(&Rates[*pRatesLen], eid_ptr->Octet, MAX_LEN_OF_SUPPORTED_RATES - (*pRatesLen));
*pRatesLen = MAX_LEN_OF_SUPPORTED_RATES;
}
break;
case IE_HT_CAP:
if (eid_ptr->Len >= sizeof(HT_CAPABILITY_IE))
{
NdisMoveMemory(pHtCapability, eid_ptr->Octet, sizeof(HT_CAPABILITY_IE));
*(USHORT *)(&pHtCapability->HtCapInfo) = cpu2le16(*(USHORT *)(&pHtCapability->HtCapInfo));
*(USHORT *)(&pHtCapability->ExtHtCapInfo) = cpu2le16(*(USHORT *)(&pHtCapability->ExtHtCapInfo));
*pHtCapabilityLen = sizeof(HT_CAPABILITY_IE);
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsReqSanity - IE_HT_CAP\n"));
}
else
{
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsReqSanity - wrong IE_HT_CAP.eid_ptr->Len = %d\n", eid_ptr->Len));
}
break;
default:
break;
}
eid_ptr = (PEID_STRUCT)((UCHAR*)eid_ptr + 2 + eid_ptr->Len);
}
return TRUE;
}
BOOLEAN PeerDlsRspSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pCapabilityInfo,
OUT USHORT *pStatus,
OUT UCHAR *pRatesLen,
OUT UCHAR Rates[],
OUT UCHAR *pHtCapabilityLen,
OUT HT_CAPABILITY_IE *pHtCapability)
{
CHAR *Ptr;
PFRAME_802_11 Fr = (PFRAME_802_11)Msg;
PEID_STRUCT eid_ptr;
// to prevent caller from using garbage output value
*pStatus = 0;
*pCapabilityInfo = 0;
*pHtCapabilityLen = 0;
Ptr = Fr->Octet;
// offset to destination MAC address (Category and Action field)
Ptr += 2;
// get status code from payload and advance the pointer
NdisMoveMemory(pStatus, Ptr, 2);
Ptr += 2;
// get DA from payload and advance the pointer
NdisMoveMemory(pDA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
// get SA from payload and advance the pointer
NdisMoveMemory(pSA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
if (pStatus == 0)
{
// get capability info from payload and advance the pointer
NdisMoveMemory(pCapabilityInfo, Ptr, 2);
Ptr += 2;
}
// Category and Action field + status code + DA + SA + capability
eid_ptr = (PEID_STRUCT) &Fr->Octet[18];
while (((UCHAR*)eid_ptr + eid_ptr->Len + 1) < ((UCHAR*)Fr + MsgLen))
{
switch(eid_ptr->Eid)
{
case IE_SUPP_RATES:
if ((eid_ptr->Len <= MAX_LEN_OF_SUPPORTED_RATES) && (eid_ptr->Len > 0))
{
NdisMoveMemory(Rates, eid_ptr->Octet, eid_ptr->Len);
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsRspSanity - IE_SUPP_RATES., Len=%d. Rates[0]=%x\n",eid_ptr->Len, Rates[0]));
DBGPRINT(RT_DEBUG_TRACE, ("Rates[1]=%x %x %x %x %x %x %x\n", Rates[1], Rates[2], Rates[3], Rates[4], Rates[5], Rates[6], Rates[7]));
*pRatesLen = eid_ptr->Len;
}
else
{
*pRatesLen = 8;
Rates[0] = 0x82;
Rates[1] = 0x84;
Rates[2] = 0x8b;
Rates[3] = 0x96;
Rates[4] = 0x12;
Rates[5] = 0x24;
Rates[6] = 0x48;
Rates[7] = 0x6c;
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsRspSanity - wrong IE_SUPP_RATES., Len=%d\n",eid_ptr->Len));
}
break;
case IE_EXT_SUPP_RATES:
if (eid_ptr->Len + *pRatesLen <= MAX_LEN_OF_SUPPORTED_RATES)
{
NdisMoveMemory(&Rates[*pRatesLen], eid_ptr->Octet, eid_ptr->Len);
*pRatesLen = (*pRatesLen) + eid_ptr->Len;
}
else
{
NdisMoveMemory(&Rates[*pRatesLen], eid_ptr->Octet, MAX_LEN_OF_SUPPORTED_RATES - (*pRatesLen));
*pRatesLen = MAX_LEN_OF_SUPPORTED_RATES;
}
break;
case IE_HT_CAP:
if (eid_ptr->Len >= sizeof(HT_CAPABILITY_IE))
{
NdisMoveMemory(pHtCapability, eid_ptr->Octet, sizeof(HT_CAPABILITY_IE));
*(USHORT *)(&pHtCapability->HtCapInfo) = cpu2le16(*(USHORT *)(&pHtCapability->HtCapInfo));
*(USHORT *)(&pHtCapability->ExtHtCapInfo) = cpu2le16(*(USHORT *)(&pHtCapability->ExtHtCapInfo));
*pHtCapabilityLen = sizeof(HT_CAPABILITY_IE);
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsRspSanity - IE_HT_CAP\n"));
}
else
{
DBGPRINT(RT_DEBUG_TRACE, ("PeerDlsRspSanity - wrong IE_HT_CAP.eid_ptr->Len = %d\n", eid_ptr->Len));
}
break;
default:
break;
}
eid_ptr = (PEID_STRUCT)((UCHAR*)eid_ptr + 2 + eid_ptr->Len);
}
return TRUE;
}
BOOLEAN PeerDlsTearDownSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pReason)
{
CHAR *Ptr;
PFRAME_802_11 Fr = (PFRAME_802_11)Msg;
// to prevent caller from using garbage output value
*pReason = 0;
Ptr = Fr->Octet;
// offset to destination MAC address (Category and Action field)
Ptr += 2;
// get DA from payload and advance the pointer
NdisMoveMemory(pDA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
// get SA from payload and advance the pointer
NdisMoveMemory(pSA, Ptr, MAC_ADDR_LEN);
Ptr += MAC_ADDR_LEN;
// get reason code from payload and advance the pointer
NdisMoveMemory(pReason, Ptr, 2);
Ptr += 2;
return TRUE;
}
#endif // QOS_DLS_SUPPORT //

View File

@ -501,11 +501,6 @@ NDIS_STATUS MlmeInit(
WpaPskStateMachineInit(pAd, &pAd->Mlme.WpaPskMachine, pAd->Mlme.WpaPskFunc); WpaPskStateMachineInit(pAd, &pAd->Mlme.WpaPskMachine, pAd->Mlme.WpaPskFunc);
AironetStateMachineInit(pAd, &pAd->Mlme.AironetMachine, pAd->Mlme.AironetFunc); AironetStateMachineInit(pAd, &pAd->Mlme.AironetMachine, pAd->Mlme.AironetFunc);
#ifdef QOS_DLS_SUPPORT
DlsStateMachineInit(pAd, &pAd->Mlme.DlsMachine, pAd->Mlme.DlsFunc);
#endif // QOS_DLS_SUPPORT //
// Since we are using switch/case to implement it, the init is different from the above // Since we are using switch/case to implement it, the init is different from the above
// state machine init // state machine init
MlmeCntlInit(pAd, &pAd->Mlme.CntlMachine, NULL); MlmeCntlInit(pAd, &pAd->Mlme.CntlMachine, NULL);
@ -624,12 +619,6 @@ VOID MlmeHandler(
case AIRONET_STATE_MACHINE: case AIRONET_STATE_MACHINE:
StateMachinePerformAction(pAd, &pAd->Mlme.AironetMachine, Elem); StateMachinePerformAction(pAd, &pAd->Mlme.AironetMachine, Elem);
break; break;
#ifdef QOS_DLS_SUPPORT
case DLS_STATE_MACHINE:
StateMachinePerformAction(pAd, &pAd->Mlme.DlsMachine, Elem);
break;
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
case ACTION_STATE_MACHINE: case ACTION_STATE_MACHINE:
@ -688,9 +677,6 @@ VOID MlmeHalt(
#ifdef CONFIG_STA_SUPPORT #ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd) IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
{ {
#ifdef QOS_DLS_SUPPORT
UCHAR i;
#endif // QOS_DLS_SUPPORT //
// Cancel pending timers // Cancel pending timers
RTMPCancelTimer(&pAd->MlmeAux.AssocTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.AssocTimer, &Cancelled);
RTMPCancelTimer(&pAd->MlmeAux.ReassocTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.ReassocTimer, &Cancelled);
@ -703,13 +689,6 @@ VOID MlmeHalt(
RTMPCancelTimer(&pAd->Mlme.PsPollTimer, &Cancelled); RTMPCancelTimer(&pAd->Mlme.PsPollTimer, &Cancelled);
RTMPCancelTimer(&pAd->Mlme.RadioOnOffTimer, &Cancelled); RTMPCancelTimer(&pAd->Mlme.RadioOnOffTimer, &Cancelled);
} }
#ifdef QOS_DLS_SUPPORT
for (i=0; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
RTMPCancelTimer(&pAd->StaCfg.DLSEntry[i].Timer, &Cancelled);
}
#endif // QOS_DLS_SUPPORT //
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
@ -1121,11 +1100,6 @@ VOID STAMlmePeriodicExec(
if (INFRA_ON(pAd)) if (INFRA_ON(pAd))
{ {
#ifdef QOS_DLS_SUPPORT
// Check DLS time out, then tear down those session
RTMPCheckDLSTimeOut(pAd);
#endif // QOS_DLS_SUPPORT //
// Is PSM bit consistent with user power management policy? // Is PSM bit consistent with user power management policy?
// This is the only place that will set PSM bit ON. // This is the only place that will set PSM bit ON.
if (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE)) if (!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE))
@ -4976,9 +4950,6 @@ VOID MlmeRestartStateMachine(
#ifdef CONFIG_STA_SUPPORT #ifdef CONFIG_STA_SUPPORT
IF_DEV_CONFIG_OPMODE_ON_STA(pAd) IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
{ {
#ifdef QOS_DLS_SUPPORT
UCHAR i;
#endif // QOS_DLS_SUPPORT //
// Cancel all timer events // Cancel all timer events
// Be careful to cancel new added timer // Be careful to cancel new added timer
RTMPCancelTimer(&pAd->MlmeAux.AssocTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.AssocTimer, &Cancelled);
@ -4987,13 +4958,6 @@ VOID MlmeRestartStateMachine(
RTMPCancelTimer(&pAd->MlmeAux.AuthTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.AuthTimer, &Cancelled);
RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.BeaconTimer, &Cancelled);
RTMPCancelTimer(&pAd->MlmeAux.ScanTimer, &Cancelled); RTMPCancelTimer(&pAd->MlmeAux.ScanTimer, &Cancelled);
#ifdef QOS_DLS_SUPPORT
for (i=0; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
RTMPCancelTimer(&pAd->StaCfg.DLSEntry[i].Timer, &Cancelled);
}
#endif // QOS_DLS_SUPPORT //
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
@ -5014,9 +4978,6 @@ VOID MlmeRestartStateMachine(
pAd->Mlme.AuthRspMachine.CurrState = AUTH_RSP_IDLE; pAd->Mlme.AuthRspMachine.CurrState = AUTH_RSP_IDLE;
pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE; pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
pAd->Mlme.ActMachine.CurrState = ACT_IDLE; pAd->Mlme.ActMachine.CurrState = ACT_IDLE;
#ifdef QOS_DLS_SUPPORT
pAd->Mlme.DlsMachine.CurrState = DLS_IDLE;
#endif // QOS_DLS_SUPPORT //
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
@ -8218,11 +8179,6 @@ BOOLEAN RTMPCheckEntryEnableAutoRateSwitch(
} }
else else
result = FALSE; result = FALSE;
#ifdef QOS_DLS_SUPPORT
if (pEntry && (pEntry->ValidAsDls))
result = pAd->StaCfg.bAutoTxRateSwitch;
#endif // QOS_DLS_SUPPORT //
} }
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //

View File

@ -1329,29 +1329,6 @@ typedef struct _MLME_START_REQ_STRUCT {
UCHAR SsidLen; UCHAR SsidLen;
} MLME_START_REQ_STRUCT, *PMLME_START_REQ_STRUCT; } MLME_START_REQ_STRUCT, *PMLME_START_REQ_STRUCT;
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
// structure for DLS
typedef struct _RT_802_11_DLS {
USHORT TimeOut; // Use to time out while slience, unit: second , set by UI
USHORT CountDownTimer; // Use to time out while slience,unit: second , used by driver only
NDIS_802_11_MAC_ADDRESS MacAddr; // set by UI
UCHAR Status; // 0: none , 1: wait STAkey, 2: finish DLS setup , set by driver only
BOOLEAN Valid; // 1: valid , 0: invalid , set by UI, use to setup or tear down DLS link
RALINK_TIMER_STRUCT Timer; // Use to time out while handshake
USHORT Sequence;
USHORT MacTabMatchWCID; // ASIC
BOOLEAN bHTCap;
PVOID pAd;
} RT_802_11_DLS, *PRT_802_11_DLS;
typedef struct _MLME_DLS_REQ_STRUCT {
PRT_802_11_DLS pDLS;
USHORT Reason;
} MLME_DLS_REQ_STRUCT, *PMLME_DLS_REQ_STRUCT;
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
typedef struct PACKED { typedef struct PACKED {
UCHAR Eid; UCHAR Eid;
UCHAR Len; UCHAR Len;

View File

@ -662,9 +662,6 @@ enum {
SHOW_DESC_INFO = 7, SHOW_DESC_INFO = 7,
RAIO_OFF = 10, RAIO_OFF = 10,
RAIO_ON = 11, RAIO_ON = 11,
#ifdef QOS_DLS_SUPPORT
SHOW_DLS_ENTRY_INFO = 19,
#endif // QOS_DLS_SUPPORT //
SHOW_CFG_VALUE = 20, SHOW_CFG_VALUE = 20,
}; };
@ -924,29 +921,6 @@ typedef struct _RT_LLTD_ASSOICATION_TABLE {
#endif // LLTD_SUPPORT // #endif // LLTD_SUPPORT //
#ifdef CONFIG_STA_SUPPORT #ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
//rt2860, kathy 2007-0118
// structure for DLS
typedef struct _RT_802_11_DLS_UI {
USHORT TimeOut; // unit: second , set by UI
USHORT CountDownTimer; // unit: second , used by driver only
NDIS_802_11_MAC_ADDRESS MacAddr; // set by UI
UCHAR Status; // 0: none , 1: wait STAkey, 2: finish DLS setup , set by driver only
BOOLEAN Valid; // 1: valid , 0: invalid , set by UI, use to setup or tear down DLS link
} RT_802_11_DLS_UI, *PRT_802_11_DLS_UI;
typedef struct _RT_802_11_DLS_INFO {
RT_802_11_DLS_UI Entry[MAX_NUMBER_OF_DLS_ENTRY];
UCHAR num;
} RT_802_11_DLS_INFO, *PRT_802_11_DLS_INFO;
typedef enum _RT_802_11_DLS_MODE {
DLS_NONE,
DLS_WAIT_KEY,
DLS_FINISH
} RT_802_11_DLS_MODE;
#endif // QOS_DLS_SUPPORT //
#ifdef WPA_SUPPLICANT_SUPPORT #ifdef WPA_SUPPLICANT_SUPPORT
#ifndef NATIVE_WPA_SUPPLICANT_SUPPORT #ifndef NATIVE_WPA_SUPPLICANT_SUPPORT
#define RT_ASSOC_EVENT_FLAG 0x0101 #define RT_ASSOC_EVENT_FLAG 0x0101

View File

@ -50,9 +50,6 @@ BUILD_TIMER_FUNCTION(StaQuickResponeForRateUpExec);
BUILD_TIMER_FUNCTION(WpaDisassocApAndBlockAssoc); BUILD_TIMER_FUNCTION(WpaDisassocApAndBlockAssoc);
BUILD_TIMER_FUNCTION(PsPollWakeExec); BUILD_TIMER_FUNCTION(PsPollWakeExec);
BUILD_TIMER_FUNCTION(RadioOnExec); BUILD_TIMER_FUNCTION(RadioOnExec);
#ifdef QOS_DLS_SUPPORT
BUILD_TIMER_FUNCTION(DlsTimeoutAction);
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
// for wireless system event message // for wireless system event message

View File

@ -557,10 +557,6 @@ DECLARE_TIMER_FUNCTION(StaQuickResponeForRateUpExec);
DECLARE_TIMER_FUNCTION(WpaDisassocApAndBlockAssoc); DECLARE_TIMER_FUNCTION(WpaDisassocApAndBlockAssoc);
DECLARE_TIMER_FUNCTION(PsPollWakeExec); DECLARE_TIMER_FUNCTION(PsPollWakeExec);
DECLARE_TIMER_FUNCTION(RadioOnExec); DECLARE_TIMER_FUNCTION(RadioOnExec);
#ifdef QOS_DLS_SUPPORT
DECLARE_TIMER_FUNCTION(DlsTimeoutAction);
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT // #endif // CONFIG_STA_SUPPORT //
void RTMP_GetCurrentSystemTime(LARGE_INTEGER *time); void RTMP_GetCurrentSystemTime(LARGE_INTEGER *time);

View File

@ -211,37 +211,6 @@ int rt28xx_close(IN PNET_DEV dev)
AsicForceWakeup(pAd, RTMP_HALT); AsicForceWakeup(pAd, RTMP_HALT);
} }
#ifdef QOS_DLS_SUPPORT
// send DLS-TEAR_DOWN message,
if (pAd->CommonCfg.bDLSCapable)
{
UCHAR i;
// tear down local dls table entry
for (i=0; i<MAX_NUM_OF_INIT_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
}
}
// tear down peer dls table entry
for (i=MAX_NUM_OF_INIT_DLS_ENTRY; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
}
}
RT28XX_MLME_HANDLER(pAd);
}
#endif // QOS_DLS_SUPPORT //
if (INFRA_ON(pAd) && if (INFRA_ON(pAd) &&
(!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))) (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
{ {

View File

@ -821,23 +821,6 @@ static void rtmp_read_sta_wmm_parms_from_file(IN PRTMP_ADAPTER pAd, char *tmpbu
DBGPRINT(RT_DEBUG_TRACE, ("WmmCapable=%d\n", pAd->CommonCfg.bWmmCapable)); DBGPRINT(RT_DEBUG_TRACE, ("WmmCapable=%d\n", pAd->CommonCfg.bWmmCapable));
} }
#ifdef QOS_DLS_SUPPORT
//DLSCapable
if(RTMPGetKeyParameter("DLSCapable", tmpbuf, 32, buffer))
{
if(simple_strtol(tmpbuf, 0, 10) != 0) //Enable
{
pAd->CommonCfg.bDLSCapable = TRUE;
}
else //Disable
{
pAd->CommonCfg.bDLSCapable = FALSE;
}
DBGPRINT(RT_DEBUG_TRACE, ("bDLSCapable=%d\n", pAd->CommonCfg.bDLSCapable));
}
#endif // QOS_DLS_SUPPORT //
//AckPolicy for AC_BK, AC_BE, AC_VI, AC_VO //AckPolicy for AC_BK, AC_BE, AC_VI, AC_VO
if(RTMPGetKeyParameter("AckPolicy", tmpbuf, 32, buffer)) if(RTMPGetKeyParameter("AckPolicy", tmpbuf, 32, buffer))
{ {

View File

@ -1331,15 +1331,6 @@ typedef struct _MLME_STRUCT {
// Action // Action
STATE_MACHINE ActMachine; STATE_MACHINE ActMachine;
#ifdef QOS_DLS_SUPPORT
STATE_MACHINE DlsMachine;
STATE_MACHINE_FUNC DlsFunc[DLS_FUNC_SIZE];
#endif // QOS_DLS_SUPPORT //
ULONG ChannelQuality; // 0..100, Channel Quality Indication for Roaming ULONG ChannelQuality; // 0..100, Channel Quality Indication for Roaming
ULONG Now32; // latch the value of NdisGetSystemUpTime() ULONG Now32; // latch the value of NdisGetSystemUpTime()
ULONG LastSendNULLpsmTime; ULONG LastSendNULLpsmTime;
@ -2085,10 +2076,6 @@ typedef struct _STA_ADMIN_CONFIG {
UCHAR DtimCount; // 0.. DtimPeriod-1 UCHAR DtimCount; // 0.. DtimPeriod-1
UCHAR DtimPeriod; // default = 3 UCHAR DtimPeriod; // default = 3
#ifdef QOS_DLS_SUPPORT
RT_802_11_DLS DLSEntry[MAX_NUM_OF_DLS_ENTRY];
UCHAR DlsReplayCounter[8];
#endif // QOS_DLS_SUPPORT //
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
// This is only for WHQL test. // This is only for WHQL test.
BOOLEAN WhqlTest; BOOLEAN WhqlTest;
@ -2252,14 +2239,6 @@ typedef struct _MAC_TABLE_ENTRY {
UCHAR TxRateUpPenalty; // extra # of second penalty due to last unstable condition UCHAR TxRateUpPenalty; // extra # of second penalty due to last unstable condition
//==================================================== //====================================================
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
UINT MatchDlsEntryIdx; // indicate the index in pAd->StaCfg.DLSEntry
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
BOOLEAN fNoisyEnvironment; BOOLEAN fNoisyEnvironment;
BOOLEAN fLastSecAccordingRSSI; BOOLEAN fLastSecAccordingRSSI;
UCHAR LastSecTxRateChangeAction; // 0: no change, 1:rate UP, 2:rate down UCHAR LastSecTxRateChangeAction; // 0: no change, 1:rate UP, 2:rate down
@ -3620,22 +3599,6 @@ VOID PeerQOSAction(
IN PRTMP_ADAPTER pAd, IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem); IN MLME_QUEUE_ELEM *Elem);
#ifdef QOS_DLS_SUPPORT
VOID PeerDLSAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
#endif // QOS_DLS_SUPPORT //
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
VOID DlsParmFill(
IN PRTMP_ADAPTER pAd,
IN OUT MLME_DLS_REQ_STRUCT *pDlsReq,
IN PRT_802_11_DLS pDls,
IN USHORT reason);
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
#ifdef DOT11_N_SUPPORT #ifdef DOT11_N_SUPPORT
VOID RECBATimerTimeout( VOID RECBATimerTimeout(
IN PVOID SystemSpecific1, IN PVOID SystemSpecific1,
@ -4558,142 +4521,6 @@ VOID PeerAuthSimpleRspGenAndSend(
// Private routines in dls.c // Private routines in dls.c
// //
#ifdef CONFIG_STA_SUPPORT
#ifdef QOS_DLS_SUPPORT
void DlsStateMachineInit(
IN PRTMP_ADAPTER pAd,
IN STATE_MACHINE *Sm,
OUT STATE_MACHINE_FUNC Trans[]);
VOID MlmeDlsReqAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
VOID PeerDlsReqAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
VOID PeerDlsRspAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
VOID MlmeDlsTearDownAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
VOID PeerDlsTearDownAction(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
VOID RTMPCheckDLSTimeOut(
IN PRTMP_ADAPTER pAd);
BOOLEAN RTMPRcvFrameDLSCheck(
IN PRTMP_ADAPTER pAd,
IN PHEADER_802_11 pHeader,
IN ULONG Len,
IN PRT28XX_RXD_STRUC pRxD);
INT RTMPCheckDLSFrame(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pDA);
VOID RTMPSendDLSTearDownFrame(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pDA);
NDIS_STATUS RTMPSendSTAKeyRequest(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pDA);
NDIS_STATUS RTMPSendSTAKeyHandShake(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pDA);
VOID DlsTimeoutAction(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3);
BOOLEAN MlmeDlsReqSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PRT_802_11_DLS *pDLS,
OUT PUSHORT pReason);
INT Set_DlsEntryInfo_Display_Proc(
IN PRTMP_ADAPTER pAd,
IN PUCHAR arg);
MAC_TABLE_ENTRY *MacTableInsertDlsEntry(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pAddr,
IN UINT DlsEntryIdx);
BOOLEAN MacTableDeleteDlsEntry(
IN PRTMP_ADAPTER pAd,
IN USHORT wcid,
IN PUCHAR pAddr);
MAC_TABLE_ENTRY *DlsEntryTableLookup(
IN PRTMP_ADAPTER pAd,
IN PUCHAR pAddr,
IN BOOLEAN bResetIdelCount);
MAC_TABLE_ENTRY *DlsEntryTableLookupByWcid(
IN PRTMP_ADAPTER pAd,
IN UCHAR wcid,
IN PUCHAR pAddr,
IN BOOLEAN bResetIdelCount);
INT Set_DlsAddEntry_Proc(
IN PRTMP_ADAPTER pAd,
IN PUCHAR arg);
INT Set_DlsTearDownEntry_Proc(
IN PRTMP_ADAPTER pAd,
IN PUCHAR arg);
#endif // QOS_DLS_SUPPORT //
#endif // CONFIG_STA_SUPPORT //
#ifdef QOS_DLS_SUPPORT
BOOLEAN PeerDlsReqSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pCapabilityInfo,
OUT USHORT *pDlsTimeout,
OUT UCHAR *pRatesLen,
OUT UCHAR Rates[],
OUT UCHAR *pHtCapabilityLen,
OUT HT_CAPABILITY_IE *pHtCapability);
BOOLEAN PeerDlsRspSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pCapabilityInfo,
OUT USHORT *pStatus,
OUT UCHAR *pRatesLen,
OUT UCHAR Rates[],
OUT UCHAR *pHtCapabilityLen,
OUT HT_CAPABILITY_IE *pHtCapability);
BOOLEAN PeerDlsTearDownSanity(
IN PRTMP_ADAPTER pAd,
IN VOID *Msg,
IN ULONG MsgLen,
OUT PUCHAR pDA,
OUT PUCHAR pSA,
OUT USHORT *pReason);
#endif // QOS_DLS_SUPPORT //
//======================================== //========================================
VOID SyncStateMachineInit( VOID SyncStateMachineInit(
@ -4798,12 +4625,6 @@ VOID CntlWaitAssocProc(
IN PRTMP_ADAPTER pAd, IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem); IN MLME_QUEUE_ELEM *Elem);
#ifdef QOS_DLS_SUPPORT
VOID CntlOidDLSSetupProc(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem);
#endif // QOS_DLS_SUPPORT //
VOID LinkUp( VOID LinkUp(
IN PRTMP_ADAPTER pAd, IN PRTMP_ADAPTER pAd,
IN UCHAR BssType); IN UCHAR BssType);

View File

@ -620,10 +620,6 @@
#define AP_CNTL_STATE_MACHINE 15 #define AP_CNTL_STATE_MACHINE 15
#define AP_WPA_STATE_MACHINE 16 #define AP_WPA_STATE_MACHINE 16
#ifdef QOS_DLS_SUPPORT
#define DLS_STATE_MACHINE 26
#endif // QOS_DLS_SUPPORT //
// //
// STA's CONTROL/CONNECT state machine: states, events, total function # // STA's CONTROL/CONNECT state machine: states, events, total function #
// //

View File

@ -927,36 +927,6 @@ VOID MlmeDisassocReqAction(
ULONG Timeout = 0; ULONG Timeout = 0;
USHORT Status; USHORT Status;
#ifdef QOS_DLS_SUPPORT
// send DLS-TEAR_DOWN message,
if (pAd->CommonCfg.bDLSCapable)
{
UCHAR i;
// tear down local dls table entry
for (i=0; i<MAX_NUM_OF_INIT_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
}
}
// tear down peer dls table entry
for (i=MAX_NUM_OF_INIT_DLS_ENTRY; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
}
}
}
#endif // QOS_DLS_SUPPORT //
// skip sanity check // skip sanity check
pDisassocReq = (PMLME_DISASSOC_REQ_STRUCT)(Elem->Msg); pDisassocReq = (PMLME_DISASSOC_REQ_STRUCT)(Elem->Msg);

View File

@ -256,12 +256,6 @@ VOID CntlIdleProc(
WpaMicFailureReportFrame(pAd, Elem); WpaMicFailureReportFrame(pAd, Elem);
break; break;
#ifdef QOS_DLS_SUPPORT
case RT_OID_802_11_SET_DLS_PARAM:
CntlOidDLSSetupProc(pAd, Elem);
break;
#endif // QOS_DLS_SUPPORT //
default: default:
DBGPRINT(RT_DEBUG_TRACE, ("CNTL - Illegal message in CntlIdleProc(MsgType=%ld)\n",Elem->MsgType)); DBGPRINT(RT_DEBUG_TRACE, ("CNTL - Illegal message in CntlIdleProc(MsgType=%ld)\n",Elem->MsgType));
break; break;
@ -652,113 +646,6 @@ VOID CntlMlmeRoamingProc(
IterateOnBssTab(pAd); IterateOnBssTab(pAd);
} }
#ifdef QOS_DLS_SUPPORT
/*
==========================================================================
Description:
IRQL = DISPATCH_LEVEL
==========================================================================
*/
VOID CntlOidDLSSetupProc(
IN PRTMP_ADAPTER pAd,
IN MLME_QUEUE_ELEM *Elem)
{
PRT_802_11_DLS pDLS = (PRT_802_11_DLS)Elem->Msg;
MLME_DLS_REQ_STRUCT MlmeDlsReq;
INT i;
USHORT reason = REASON_UNSPECIFY;
DBGPRINT(RT_DEBUG_TRACE,("CNTL - (OID set %02x:%02x:%02x:%02x:%02x:%02x with Valid=%d, Status=%d, TimeOut=%d, CountDownTimer=%d)\n",
pDLS->MacAddr[0], pDLS->MacAddr[1], pDLS->MacAddr[2], pDLS->MacAddr[3], pDLS->MacAddr[4], pDLS->MacAddr[5],
pDLS->Valid, pDLS->Status, pDLS->TimeOut, pDLS->CountDownTimer));
if (!pAd->CommonCfg.bDLSCapable)
return;
// DLS will not be supported when Adhoc mode
if (INFRA_ON(pAd))
{
for (i = 0; i < MAX_NUM_OF_DLS_ENTRY; i++)
{
if (pDLS->Valid && pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH) &&
(pDLS->TimeOut == pAd->StaCfg.DLSEntry[i].TimeOut) && MAC_ADDR_EQUAL(pDLS->MacAddr, pAd->StaCfg.DLSEntry[i].MacAddr))
{
// 1. Same setting, just drop it
DBGPRINT(RT_DEBUG_TRACE,("CNTL - setting unchanged\n"));
break;
}
else if (!pDLS->Valid && pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH) &&
MAC_ADDR_EQUAL(pDLS->MacAddr, pAd->StaCfg.DLSEntry[i].MacAddr))
{
// 2. Disable DLS link case, just tear down DLS link
reason = REASON_QOS_UNWANTED_MECHANISM;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_TEAR_DOWN, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
DBGPRINT(RT_DEBUG_TRACE,("CNTL - start tear down procedure\n"));
break;
}
else if ((i < MAX_NUM_OF_DLS_ENTRY) && pDLS->Valid && !pAd->StaCfg.DLSEntry[i].Valid)
{
// 3. Enable case, start DLS setup procedure
NdisMoveMemory(&pAd->StaCfg.DLSEntry[i], pDLS, sizeof(RT_802_11_DLS_UI));
//Update countdown timer
pAd->StaCfg.DLSEntry[i].CountDownTimer = pAd->StaCfg.DLSEntry[i].TimeOut;
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_REQ, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
DBGPRINT(RT_DEBUG_TRACE,("CNTL - DLS setup case\n"));
break;
}
else if ((i < MAX_NUM_OF_DLS_ENTRY) && pDLS->Valid && pAd->StaCfg.DLSEntry[i].Valid &&
(pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH) && !MAC_ADDR_EQUAL(pDLS->MacAddr, pAd->StaCfg.DLSEntry[i].MacAddr))
{
// 4. update mac case, tear down old DLS and setup new DLS
reason = REASON_QOS_UNWANTED_MECHANISM;
pAd->StaCfg.DLSEntry[i].Valid = FALSE;
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_TEAR_DOWN, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
NdisMoveMemory(&pAd->StaCfg.DLSEntry[i], pDLS, sizeof(RT_802_11_DLS_UI));
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_REQ, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
DBGPRINT(RT_DEBUG_TRACE,("CNTL - DLS tear down and restart case\n"));
break;
}
else if (pDLS->Valid && pAd->StaCfg.DLSEntry[i].Valid &&
MAC_ADDR_EQUAL(pDLS->MacAddr, pAd->StaCfg.DLSEntry[i].MacAddr) && (pAd->StaCfg.DLSEntry[i].TimeOut != pDLS->TimeOut))
{
// 5. update timeout case, start DLS setup procedure (no tear down)
pAd->StaCfg.DLSEntry[i].TimeOut = pDLS->TimeOut;
//Update countdown timer
pAd->StaCfg.DLSEntry[i].CountDownTimer = pAd->StaCfg.DLSEntry[i].TimeOut;
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_REQ, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
DBGPRINT(RT_DEBUG_TRACE,("CNTL - DLS update timeout case\n"));
break;
}
else if (pDLS->Valid && pAd->StaCfg.DLSEntry[i].Valid &&
(pAd->StaCfg.DLSEntry[i].Status != DLS_FINISH) && MAC_ADDR_EQUAL(pDLS->MacAddr, pAd->StaCfg.DLSEntry[i].MacAddr))
{
// 6. re-setup case, start DLS setup procedure (no tear down)
DlsParmFill(pAd, &MlmeDlsReq, &pAd->StaCfg.DLSEntry[i], reason);
MlmeEnqueue(pAd, DLS_STATE_MACHINE, MT2_MLME_DLS_REQ, sizeof(MLME_DLS_REQ_STRUCT), &MlmeDlsReq);
DBGPRINT(RT_DEBUG_TRACE,("CNTL - DLS retry setup procedure\n"));
break;
}
else
{
DBGPRINT(RT_DEBUG_WARN,("CNTL - DLS not changed in entry - %d - Valid=%d, Status=%d, TimeOut=%d\n",
i, pAd->StaCfg.DLSEntry[i].Valid, pAd->StaCfg.DLSEntry[i].Status, pAd->StaCfg.DLSEntry[i].TimeOut));
}
}
}
}
#endif // QOS_DLS_SUPPORT //
/* /*
========================================================================== ==========================================================================
Description: Description:
@ -1987,33 +1874,6 @@ VOID LinkDown(
{ {
DBGPRINT(RT_DEBUG_TRACE, ("!!! LINK DOWN 2!!!\n")); DBGPRINT(RT_DEBUG_TRACE, ("!!! LINK DOWN 2!!!\n"));
#ifdef QOS_DLS_SUPPORT
// DLS tear down frame must be sent before link down
// send DLS-TEAR_DOWN message
if (pAd->CommonCfg.bDLSCapable)
{
// tear down local dls table entry
for (i=0; i<MAX_NUM_OF_INIT_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
}
}
// tear down peer dls table entry
for (i=MAX_NUM_OF_INIT_DLS_ENTRY; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
if (pAd->StaCfg.DLSEntry[i].Valid && (pAd->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
pAd->StaCfg.DLSEntry[i].Status = DLS_NONE;
RTMPSendDLSTearDownFrame(pAd, pAd->StaCfg.DLSEntry[i].MacAddr);
}
}
}
#endif // QOS_DLS_SUPPORT //
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_INFRA_ON); OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_INFRA_ON);
OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED); OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED);
@ -2112,11 +1972,6 @@ VOID LinkDown(
pAd->StaCfg.WpaState = SS_START; pAd->StaCfg.WpaState = SS_START;
// Clear Replay counter // Clear Replay counter
NdisZeroMemory(pAd->StaCfg.ReplayCounter, 8); NdisZeroMemory(pAd->StaCfg.ReplayCounter, 8);
#ifdef QOS_DLS_SUPPORT
if (pAd->CommonCfg.bDLSCapable)
NdisZeroMemory(pAd->StaCfg.DlsReplayCounter, 8);
#endif // QOS_DLS_SUPPORT //
} }
@ -2419,26 +2274,6 @@ VOID ScanParmFill(
ScanReq->ScanType = ScanType; ScanReq->ScanType = ScanType;
} }
#ifdef QOS_DLS_SUPPORT
/*
==========================================================================
Description:
IRQL = DISPATCH_LEVEL
==========================================================================
*/
VOID DlsParmFill(
IN PRTMP_ADAPTER pAd,
IN OUT MLME_DLS_REQ_STRUCT *pDlsReq,
IN PRT_802_11_DLS pDls,
IN USHORT reason)
{
pDlsReq->pDLS = pDls;
pDlsReq->Reason = reason;
}
#endif // QOS_DLS_SUPPORT //
/* /*
========================================================================== ==========================================================================
Description: Description:

File diff suppressed because it is too large Load Diff

View File

@ -168,9 +168,6 @@ VOID STARxDataFrameAnnounce(
// ARALINK // ARALINK
CmmRxRalinkFrameIndicate(pAd, pEntry, pRxBlk, FromWhichBSSID); CmmRxRalinkFrameIndicate(pAd, pEntry, pRxBlk, FromWhichBSSID);
} }
#ifdef QOS_DLS_SUPPORT
RX_BLK_CLEAR_FLAG(pRxBlk, fRX_DLS);
#endif // QOS_DLS_SUPPORT //
} }
else else
{ {
@ -276,14 +273,6 @@ VOID STAHandleRxDataFrame(
return; return;
} }
#ifdef QOS_DLS_SUPPORT
//if ((pHeader->FC.FrDs == 0) && (pHeader->FC.ToDs == 0))
if (RTMPRcvFrameDLSCheck(pAd, pHeader, pRxWI->MPDUtotalByteCount, pRxD))
{
return;
}
#endif // QOS_DLS_SUPPORT //
// Drop not my BSS frames // Drop not my BSS frames
if (pRxD->MyBss == 0) if (pRxD->MyBss == 0)
{ {
@ -342,10 +331,7 @@ VOID STAHandleRxDataFrame(
} }
// Drop not my BSS frame (we can not only check the MyBss bit in RxD) // Drop not my BSS frame (we can not only check the MyBss bit in RxD)
#ifdef QOS_DLS_SUPPORT
if (!pAd->CommonCfg.bDLSCapable)
{
#endif // QOS_DLS_SUPPORT //
if (INFRA_ON(pAd)) if (INFRA_ON(pAd))
{ {
// Infrastructure mode, check address 2 for BSSID // Infrastructure mode, check address 2 for BSSID
@ -368,9 +354,6 @@ VOID STAHandleRxDataFrame(
return; return;
} }
} }
#ifdef QOS_DLS_SUPPORT
}
#endif // QOS_DLS_SUPPORT //
// //
// find pEntry // find pEntry
@ -391,11 +374,6 @@ VOID STAHandleRxDataFrame(
if (INFRA_ON(pAd)) if (INFRA_ON(pAd))
{ {
RX_BLK_SET_FLAG(pRxBlk, fRX_INFRA); RX_BLK_SET_FLAG(pRxBlk, fRX_INFRA);
#ifdef QOS_DLS_SUPPORT
if ((pHeader->FC.FrDs == 0) && (pHeader->FC.ToDs == 0))
RX_BLK_SET_FLAG(pRxBlk, fRX_DLS);
else
#endif // QOS_DLS_SUPPORT //
ASSERT(pRxWI->WirelessCliID == BSSID_WCID); ASSERT(pRxWI->WirelessCliID == BSSID_WCID);
} }
@ -509,18 +487,6 @@ VOID STAHandleRxDataFrame(
{ {
pAd->LastRxRate = (USHORT)((pRxWI->MCS) + (pRxWI->BW <<7) + (pRxWI->ShortGI <<8)+ (pRxWI->PHYMODE <<14)) ; pAd->LastRxRate = (USHORT)((pRxWI->MCS) + (pRxWI->BW <<7) + (pRxWI->ShortGI <<8)+ (pRxWI->PHYMODE <<14)) ;
#ifdef QOS_DLS_SUPPORT
if (RX_BLK_TEST_FLAG(pRxBlk, fRX_DLS))
{
MAC_TABLE_ENTRY *pDlsEntry = NULL;
pDlsEntry = DlsEntryTableLookupByWcid(pAd, pRxWI->WirelessCliID, pHeader->Addr2, TRUE);
if(pDlsEntry)
Update_Rssi_Sample(pAd, &pDlsEntry->RssiSample, pRxWI);
}
else
#endif // QOS_DLS_SUPPORT //
if (ADHOC_ON(pAd)) if (ADHOC_ON(pAd))
{ {
pEntry = MacTableLookup(pAd, pHeader->Addr2); pEntry = MacTableLookup(pAd, pHeader->Addr2);
@ -869,17 +835,6 @@ VOID STASendPackets(
{ {
// Record that orignal packet source is from NDIS layer,so that // Record that orignal packet source is from NDIS layer,so that
// later on driver knows how to release this NDIS PACKET // later on driver knows how to release this NDIS PACKET
#ifdef QOS_DLS_SUPPORT
MAC_TABLE_ENTRY *pEntry;
PUCHAR pSrcBufVA = GET_OS_PKT_DATAPTR(pPacket);
pEntry = MacTableLookup(pAd, pSrcBufVA);
if (pEntry && (pEntry->ValidAsDls == TRUE))
{
RTMP_SET_PACKET_WCID(pPacket, pEntry->Aid);
}
else
#endif // QOS_DLS_SUPPORT //
RTMP_SET_PACKET_WCID(pPacket, 0); // this field is useless when in STA mode RTMP_SET_PACKET_WCID(pPacket, 0); // this field is useless when in STA mode
RTMP_SET_PACKET_SOURCE(pPacket, PKTSRC_NDIS); RTMP_SET_PACKET_SOURCE(pPacket, PKTSRC_NDIS);
NDIS_SET_PACKET_STATUS(pPacket, NDIS_STATUS_PENDING); NDIS_SET_PACKET_STATUS(pPacket, NDIS_STATUS_PENDING);
@ -961,18 +916,6 @@ NDIS_STATUS STASendPacket(
{ {
if(INFRA_ON(pAd)) if(INFRA_ON(pAd))
{ {
#ifdef QOS_DLS_SUPPORT
USHORT tmpWcid;
tmpWcid = RTMP_GET_PACKET_WCID(pPacket);
if (VALID_WCID(tmpWcid) &&
(pAd->MacTab.Content[tmpWcid].ValidAsDls== TRUE))
{
pEntry = &pAd->MacTab.Content[tmpWcid];
Rate = pAd->MacTab.Content[tmpWcid].CurrTxRate;
}
else
#endif // QOS_DLS_SUPPORT //
{ {
pEntry = &pAd->MacTab.Content[BSSID_WCID]; pEntry = &pAd->MacTab.Content[BSSID_WCID];
RTMP_SET_PACKET_WCID(pPacket, BSSID_WCID); RTMP_SET_PACKET_WCID(pPacket, BSSID_WCID);
@ -1440,12 +1383,7 @@ VOID STABuildCommon802_11Header(
IN PRTMP_ADAPTER pAd, IN PRTMP_ADAPTER pAd,
IN TX_BLK *pTxBlk) IN TX_BLK *pTxBlk)
{ {
HEADER_802_11 *pHeader_802_11; HEADER_802_11 *pHeader_802_11;
#ifdef QOS_DLS_SUPPORT
BOOLEAN bDLSFrame = FALSE;
INT DlsEntryIndex = 0;
#endif // QOS_DLS_SUPPORT //
// //
// MAKE A COMMON 802.11 HEADER // MAKE A COMMON 802.11 HEADER
@ -1462,19 +1400,6 @@ VOID STABuildCommon802_11Header(
pHeader_802_11->FC.Type = BTYPE_DATA; pHeader_802_11->FC.Type = BTYPE_DATA;
pHeader_802_11->FC.SubType = ((TX_BLK_TEST_FLAG(pTxBlk, fTX_bWMM)) ? SUBTYPE_QDATA : SUBTYPE_DATA); pHeader_802_11->FC.SubType = ((TX_BLK_TEST_FLAG(pTxBlk, fTX_bWMM)) ? SUBTYPE_QDATA : SUBTYPE_DATA);
#ifdef QOS_DLS_SUPPORT
if (INFRA_ON(pAd))
{
// Check if the frame can be sent through DLS direct link interface
// If packet can be sent through DLS, then force aggregation disable. (Hard to determine peer STA's capability)
DlsEntryIndex = RTMPCheckDLSFrame(pAd, pTxBlk->pSrcBufHeader);
if (DlsEntryIndex >= 0)
bDLSFrame = TRUE;
else
bDLSFrame = FALSE;
}
#endif // QOS_DLS_SUPPORT //
if (pTxBlk->pMacEntry) if (pTxBlk->pMacEntry)
{ {
if (TX_BLK_TEST_FLAG(pTxBlk, fTX_bForceNonQoS)) if (TX_BLK_TEST_FLAG(pTxBlk, fTX_bForceNonQoS))
@ -1484,14 +1409,6 @@ VOID STABuildCommon802_11Header(
} }
else else
{ {
#ifdef QOS_DLS_SUPPORT
if (bDLSFrame)
{
pHeader_802_11->Sequence = pAd->StaCfg.DLSEntry[DlsEntryIndex].Sequence;
pAd->StaCfg.DLSEntry[DlsEntryIndex].Sequence = (pAd->StaCfg.DLSEntry[DlsEntryIndex].Sequence+1) & MAXSEQ;
}
else
#endif // QOS_DLS_SUPPORT //
{ {
pHeader_802_11->Sequence = pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority]; pHeader_802_11->Sequence = pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority];
pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority] = (pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority]+1) & MAXSEQ; pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority] = (pTxBlk->pMacEntry->TxSeq[pTxBlk->UserPriority]+1) & MAXSEQ;
@ -1511,16 +1428,6 @@ VOID STABuildCommon802_11Header(
{ {
if (INFRA_ON(pAd)) if (INFRA_ON(pAd))
{ {
#ifdef QOS_DLS_SUPPORT
if (bDLSFrame)
{
COPY_MAC_ADDR(pHeader_802_11->Addr1, pTxBlk->pSrcBufHeader);
COPY_MAC_ADDR(pHeader_802_11->Addr2, pAd->CurrentAddress);
COPY_MAC_ADDR(pHeader_802_11->Addr3, pAd->CommonCfg.Bssid);
pHeader_802_11->FC.ToDs = 0;
}
else
#endif // QOS_DLS_SUPPORT //
{ {
COPY_MAC_ADDR(pHeader_802_11->Addr1, pAd->CommonCfg.Bssid); COPY_MAC_ADDR(pHeader_802_11->Addr1, pAd->CommonCfg.Bssid);
COPY_MAC_ADDR(pHeader_802_11->Addr2, pAd->CurrentAddress); COPY_MAC_ADDR(pHeader_802_11->Addr2, pAd->CurrentAddress);
@ -1576,29 +1483,7 @@ VOID STABuildCache802_11Header(
pMacEntry->TxSeq[pTxBlk->UserPriority] = (pMacEntry->TxSeq[pTxBlk->UserPriority]+1) & MAXSEQ; pMacEntry->TxSeq[pTxBlk->UserPriority] = (pMacEntry->TxSeq[pTxBlk->UserPriority]+1) & MAXSEQ;
{ {
// Check if the frame can be sent through DLS direct link interface
// If packet can be sent through DLS, then force aggregation disable. (Hard to determine peer STA's capability)
#ifdef QOS_DLS_SUPPORT
BOOLEAN bDLSFrame = FALSE;
INT DlsEntryIndex = 0;
DlsEntryIndex = RTMPCheckDLSFrame(pAd, pTxBlk->pSrcBufHeader);
if (DlsEntryIndex >= 0)
bDLSFrame = TRUE;
else
bDLSFrame = FALSE;
#endif // QOS_DLS_SUPPORT //
// The addr3 of normal packet send from DS is Dest Mac address. // The addr3 of normal packet send from DS is Dest Mac address.
#ifdef QOS_DLS_SUPPORT
if (bDLSFrame)
{
COPY_MAC_ADDR(pHeader80211->Addr1, pTxBlk->pSrcBufHeader);
COPY_MAC_ADDR(pHeader80211->Addr3, pAd->CommonCfg.Bssid);
pHeader80211->FC.ToDs = 0;
}
else
#endif // QOS_DLS_SUPPORT //
if (ADHOC_ON(pAd)) if (ADHOC_ON(pAd))
COPY_MAC_ADDR(pHeader80211->Addr3, pAd->CommonCfg.Bssid); COPY_MAC_ADDR(pHeader80211->Addr3, pAd->CommonCfg.Bssid);
else else

View File

@ -85,10 +85,6 @@ struct iw_priv_args privtab[] = {
0, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "radio_off" }, 0, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "radio_off" },
{ RAIO_ON, { RAIO_ON,
0, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "radio_on" }, 0, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "radio_on" },
#ifdef QOS_DLS_SUPPORT
{ SHOW_DLS_ENTRY_INFO,
0, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "dlsentryinfo" },
#endif // QOS_DLS_SUPPORT //
{ SHOW_CFG_VALUE, { SHOW_CFG_VALUE,
IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "show" }, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "show" },
/* --- sub-ioctls relations --- */ /* --- sub-ioctls relations --- */
@ -279,10 +275,6 @@ static struct {
{"TGnWifiTest", Set_TGnWifiTest_Proc}, {"TGnWifiTest", Set_TGnWifiTest_Proc},
{"ForceGF", Set_ForceGF_Proc}, {"ForceGF", Set_ForceGF_Proc},
#endif // DOT11_N_SUPPORT // #endif // DOT11_N_SUPPORT //
#ifdef QOS_DLS_SUPPORT
{"DlsAddEntry", Set_DlsAddEntry_Proc},
{"DlsTearDownEntry", Set_DlsTearDownEntry_Proc},
#endif // QOS_DLS_SUPPORT //
{"LongRetry", Set_LongRetryLimit_Proc}, {"LongRetry", Set_LongRetryLimit_Proc},
{"ShortRetry", Set_ShortRetryLimit_Proc}, {"ShortRetry", Set_ShortRetryLimit_Proc},
#ifdef EXT_BUILD_CHANNEL_LIST #ifdef EXT_BUILD_CHANNEL_LIST
@ -2113,16 +2105,6 @@ rt_private_show(struct net_device *dev, struct iw_request_info *info,
wrq->length = strlen(extra) + 1; // 1: size of '\0' wrq->length = strlen(extra) + 1; // 1: size of '\0'
break; break;
#ifdef QOS_DLS_SUPPORT
case SHOW_DLS_ENTRY_INFO:
{
Set_DlsEntryInfo_Display_Proc(pAd, NULL);
wrq->length = 0; // 1: size of '\0'
}
break;
#endif // QOS_DLS_SUPPORT //
case SHOW_CFG_VALUE: case SHOW_CFG_VALUE:
{ {
Status = RTMPShowCfgValue(pAd, wrq->pointer, extra); Status = RTMPShowCfgValue(pAd, wrq->pointer, extra);
@ -3857,62 +3839,7 @@ INT RTMPSetInformation(
DBGPRINT(RT_DEBUG_TRACE, ("Set::RT_OID_802_11_SET_APSD_PSM (bAPSDForcePowerSave:%d)\n", pAdapter->CommonCfg.bAPSDForcePowerSave)); DBGPRINT(RT_DEBUG_TRACE, ("Set::RT_OID_802_11_SET_APSD_PSM (bAPSDForcePowerSave:%d)\n", pAdapter->CommonCfg.bAPSDForcePowerSave));
} }
break; break;
#ifdef QOS_DLS_SUPPORT
case RT_OID_802_11_SET_DLS:
if (wrq->u.data.length != sizeof(ULONG))
Status = -EINVAL;
else
{
BOOLEAN oldvalue = pAdapter->CommonCfg.bDLSCapable;
Status = copy_from_user(&pAdapter->CommonCfg.bDLSCapable, wrq->u.data.pointer, wrq->u.data.length);
if (oldvalue && !pAdapter->CommonCfg.bDLSCapable)
{
int i;
// tear down local dls table entry
for (i=0; i<MAX_NUM_OF_INIT_DLS_ENTRY; i++)
{
if (pAdapter->StaCfg.DLSEntry[i].Valid && (pAdapter->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
pAdapter->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAdapter->StaCfg.DLSEntry[i].Valid = FALSE;
RTMPSendDLSTearDownFrame(pAdapter, pAdapter->StaCfg.DLSEntry[i].MacAddr);
}
}
// tear down peer dls table entry
for (i=MAX_NUM_OF_INIT_DLS_ENTRY; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
if (pAdapter->StaCfg.DLSEntry[i].Valid && (pAdapter->StaCfg.DLSEntry[i].Status == DLS_FINISH))
{
pAdapter->StaCfg.DLSEntry[i].Status = DLS_NONE;
pAdapter->StaCfg.DLSEntry[i].Valid = FALSE;
RTMPSendDLSTearDownFrame(pAdapter, pAdapter->StaCfg.DLSEntry[i].MacAddr);
}
}
}
DBGPRINT(RT_DEBUG_TRACE,("Set::RT_OID_802_11_SET_DLS (=%d)\n", pAdapter->CommonCfg.bDLSCapable));
}
break;
case RT_OID_802_11_SET_DLS_PARAM:
if (wrq->u.data.length != sizeof(RT_802_11_DLS_UI))
Status = -EINVAL;
else
{
RT_802_11_DLS Dls;
NdisZeroMemory(&Dls, sizeof(RT_802_11_DLS));
RTMPMoveMemory(&Dls, wrq->u.data.pointer, sizeof(RT_802_11_DLS_UI));
MlmeEnqueue(pAdapter,
MLME_CNTL_STATE_MACHINE,
RT_OID_802_11_SET_DLS_PARAM,
sizeof(RT_802_11_DLS),
&Dls);
DBGPRINT(RT_DEBUG_TRACE,("Set::RT_OID_802_11_SET_DLS_PARAM \n"));
}
break;
#endif // QOS_DLS_SUPPORT //
case RT_OID_802_11_SET_WMM: case RT_OID_802_11_SET_WMM:
if (wrq->u.data.length != sizeof(BOOLEAN)) if (wrq->u.data.length != sizeof(BOOLEAN))
Status = -EINVAL; Status = -EINVAL;
@ -5268,35 +5195,6 @@ INT RTMPQueryInformation(
DBGPRINT(RT_DEBUG_TRACE, ("Status=%d\n", Status)); DBGPRINT(RT_DEBUG_TRACE, ("Status=%d\n", Status));
break; break;
#ifdef QOS_DLS_SUPPORT
case RT_OID_802_11_QUERY_DLS:
wrq->u.data.length = sizeof(BOOLEAN);
Status = copy_to_user(wrq->u.data.pointer, &pAdapter->CommonCfg.bDLSCapable, wrq->u.data.length);
DBGPRINT(RT_DEBUG_TRACE, ("Query::RT_OID_802_11_QUERY_DLS(=%d)\n", pAdapter->CommonCfg.bDLSCapable));
break;
case RT_OID_802_11_QUERY_DLS_PARAM:
{
PRT_802_11_DLS_INFO pDlsInfo = kmalloc(sizeof(RT_802_11_DLS_INFO), GFP_ATOMIC);
if (pDlsInfo == NULL)
break;
for (i=0; i<MAX_NUM_OF_DLS_ENTRY; i++)
{
RTMPMoveMemory(&pDlsInfo->Entry[i], &pAdapter->StaCfg.DLSEntry[i], sizeof(RT_802_11_DLS_UI));
}
pDlsInfo->num = MAX_NUM_OF_DLS_ENTRY;
wrq->u.data.length = sizeof(RT_802_11_DLS_INFO);
Status = copy_to_user(wrq->u.data.pointer, pDlsInfo, wrq->u.data.length);
DBGPRINT(RT_DEBUG_TRACE, ("Query::RT_OID_802_11_QUERY_DLS_PARAM\n"));
if (pDlsInfo)
kfree(pDlsInfo);
}
break;
#endif // QOS_DLS_SUPPORT //
default: default:
DBGPRINT(RT_DEBUG_TRACE, ("Query::unknown IOCTL's subcmd = 0x%08x\n", cmd)); DBGPRINT(RT_DEBUG_TRACE, ("Query::unknown IOCTL's subcmd = 0x%08x\n", cmd));
Status = -EOPNOTSUPP; Status = -EOPNOTSUPP;