|
@@ -81,14 +81,9 @@
|
|
|
#include "control.h"
|
|
|
#include "rndis.h"
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
static int msglevel =MSG_LEVEL_INFO;
|
|
|
//static int msglevel =MSG_LEVEL_DEBUG;
|
|
|
|
|
|
-
|
|
|
static int ChannelExceedZoneType(struct vnt_private *, u8 byCurrChannel);
|
|
|
|
|
|
/* Association/diassociation functions */
|
|
@@ -154,7 +149,6 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
|
|
|
u8 *pCurrBSSID, PWLAN_IE_SUPP_RATES pCurrSuppRates,
|
|
|
PWLAN_IE_SUPP_RATES pCurrExtSuppRates);
|
|
|
|
|
|
-
|
|
|
/* Association response */
|
|
|
static struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *,
|
|
|
struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wAssocStatus,
|
|
@@ -178,11 +172,9 @@ static struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *,
|
|
|
/* received status */
|
|
|
static void s_vMgrLogStatus(struct vnt_manager *pMgmt, u16 wStatus);
|
|
|
|
|
|
-
|
|
|
static void s_vMgrSynchBSS(struct vnt_private *, u32 uBSSMode,
|
|
|
PKnownBSS pCurr, PCMD_STATUS pStatus);
|
|
|
|
|
|
-
|
|
|
static bool
|
|
|
s_bCipherMatch (
|
|
|
PKnownBSS pBSSNode,
|
|
@@ -193,8 +185,6 @@ s_bCipherMatch (
|
|
|
|
|
|
static void Encyption_Rebuild(struct vnt_private *, PKnownBSS pCurr);
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -210,7 +200,6 @@ void vMgrObjectInit(struct vnt_private *pDevice)
|
|
|
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
|
|
int ii;
|
|
|
|
|
|
-
|
|
|
pMgmt->pbyPSPacketPool = &pMgmt->byPSPacketPool[0];
|
|
|
pMgmt->pbyMgmtPacketPool = &pMgmt->byMgmtPacketPool[0];
|
|
|
pMgmt->uCurrChannel = pDevice->uChannel;
|
|
@@ -268,7 +257,6 @@ void vMgrAssocBeginSta(struct vnt_private *pDevice,
|
|
|
{
|
|
|
struct vnt_tx_mgmt *pTxPacket;
|
|
|
|
|
|
-
|
|
|
pMgmt->wCurrCapInfo = 0;
|
|
|
pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_ESS(1);
|
|
|
if (pDevice->bEncryptionEnable) {
|
|
@@ -323,7 +311,6 @@ void vMgrAssocBeginSta(struct vnt_private *pDevice,
|
|
|
return ;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -353,7 +340,6 @@ void vMgrReAssocBeginSta(struct vnt_private *pDevice,
|
|
|
if (pMgmt->wListenInterval == 0)
|
|
|
pMgmt->wListenInterval = 1; // at least one.
|
|
|
|
|
|
-
|
|
|
// ERP Phy (802.11g) should support short preamble.
|
|
|
if (pMgmt->eCurrentPHYMode == PHY_TYPE_11G) {
|
|
|
pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTPREAMBLE(1);
|
|
@@ -368,7 +354,6 @@ void vMgrReAssocBeginSta(struct vnt_private *pDevice,
|
|
|
if (pMgmt->b11hEnable == true)
|
|
|
pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SPECTRUMMNG(1);
|
|
|
|
|
|
-
|
|
|
pTxPacket = s_MgrMakeReAssocRequest
|
|
|
(
|
|
|
pDevice,
|
|
@@ -392,7 +377,6 @@ void vMgrReAssocBeginSta(struct vnt_private *pDevice,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
return ;
|
|
|
}
|
|
|
|
|
@@ -452,8 +436,6 @@ void vMgrDisassocBeginSta(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:(AP function)
|
|
@@ -477,7 +459,6 @@ static void s_vMgrRxAssocRequest(struct vnt_private *pDevice,
|
|
|
u8 abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];
|
|
|
u8 abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1];
|
|
|
|
|
|
-
|
|
|
if (pMgmt->eCurrMode != WMAC_MODE_ESS_AP)
|
|
|
return;
|
|
|
// node index not found
|
|
@@ -517,7 +498,6 @@ static void s_vMgrRxAssocRequest(struct vnt_private *pDevice,
|
|
|
abyCurrExtSuppRates[1] = 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
RATEvParseMaxRate((void *)pDevice,
|
|
|
(PWLAN_IE_SUPP_RATES)abyCurrSuppRates,
|
|
|
(PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates,
|
|
@@ -566,7 +546,6 @@ static void s_vMgrRxAssocRequest(struct vnt_private *pDevice,
|
|
|
pMgmt->sNodeDBTable[uNodeIndex].wMaxSuppRate);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// assoc response reply..
|
|
|
pTxPacket = s_MgrMakeAssocResponse
|
|
|
(
|
|
@@ -598,7 +577,6 @@ static void s_vMgrRxAssocRequest(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Description:(AP function)
|
|
@@ -665,7 +643,6 @@ static void s_vMgrRxReAssocRequest(struct vnt_private *pDevice,
|
|
|
abyCurrExtSuppRates[1] = 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
RATEvParseMaxRate((void *)pDevice,
|
|
|
(PWLAN_IE_SUPP_RATES)abyCurrSuppRates,
|
|
|
(PWLAN_IE_SUPP_RATES)abyCurrExtSuppRates,
|
|
@@ -716,7 +693,6 @@ static void s_vMgrRxReAssocRequest(struct vnt_private *pDevice,
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// assoc response reply..
|
|
|
pTxPacket = s_MgrMakeReAssocResponse
|
|
|
(
|
|
@@ -746,7 +722,6 @@ static void s_vMgrRxReAssocRequest(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -765,8 +740,6 @@ static void s_vMgrRxAssocResponse(struct vnt_private *pDevice,
|
|
|
PWLAN_IE_SSID pItemSSID;
|
|
|
u8 *pbyIEs;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
if (pMgmt->eCurrState == WMAC_STATE_ASSOCPENDING ||
|
|
|
pMgmt->eCurrState == WMAC_STATE_ASSOC) {
|
|
|
|
|
@@ -978,11 +951,9 @@ void vMgrDeAuthenBeginSta(struct vnt_private *pDevice,
|
|
|
*pStatus = CMD_STATUS_SUCCESS;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
return ;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1031,8 +1002,6 @@ static void s_vMgrRxAuthentication(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1045,7 +1014,6 @@ static void s_vMgrRxAuthentication(struct vnt_private *pDevice,
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
static void s_vMgrRxAuthenSequence_1(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, PWLAN_FR_AUTHEN pFrame)
|
|
|
{
|
|
@@ -1136,8 +1104,6 @@ static void s_vMgrRxAuthenSequence_1(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1156,7 +1122,6 @@ static void s_vMgrRxAuthenSequence_2(struct vnt_private *pDevice,
|
|
|
WLAN_FR_AUTHEN sFrame;
|
|
|
struct vnt_tx_mgmt *pTxPacket = NULL;
|
|
|
|
|
|
-
|
|
|
switch (cpu_to_le16((*(pFrame->pwAuthAlgorithm))))
|
|
|
{
|
|
|
case WLAN_AUTH_ALG_OPENSYSTEM:
|
|
@@ -1235,8 +1200,6 @@ static void s_vMgrRxAuthenSequence_2(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1323,8 +1286,6 @@ reply:
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1424,7 +1385,6 @@ static void s_vMgrRxDisassociation(struct vnt_private *pDevice,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -1442,7 +1402,6 @@ static void s_vMgrRxDeauthentication(struct vnt_private *pDevice,
|
|
|
WLAN_FR_DEAUTHEN sFrame;
|
|
|
u32 uNodeIndex = 0;
|
|
|
|
|
|
-
|
|
|
if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP ){
|
|
|
//Todo:
|
|
|
// if is acting an AP..
|
|
@@ -1563,8 +1522,6 @@ static void s_vMgrRxBeacon(struct vnt_private *pDevice,
|
|
|
int bChannelHit = false;
|
|
|
u8 byOldPreambleType;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP)
|
|
|
return;
|
|
|
|
|
@@ -1833,7 +1790,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==true)
|
|
|
if (qwTSFOffset > TRIVIAL_SYNC_DIFFERENCE)
|
|
|
bTSFLargeDiff = true;
|
|
|
|
|
|
-
|
|
|
// if infra mode
|
|
|
if (bIsAPBeacon == true) {
|
|
|
|
|
@@ -2005,7 +1961,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==true)
|
|
|
if (pDevice->byPreambleType != byOldPreambleType)
|
|
|
CARDvSetRSPINF(pDevice, (u8)pDevice->byBBType);
|
|
|
|
|
|
-
|
|
|
// MACvRegBitsOff(pDevice->PortOffset, MAC_REG_RCR, RCR_BSSID);
|
|
|
// set highest basic rate
|
|
|
// s_vSetHighestBasicRate(pDevice, (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates);
|
|
@@ -2055,8 +2010,6 @@ void vMgrCreateOwnIBSS(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
u8 abyOFDM_RATE[] = {0x0C, 0x12, 0x18, 0x24, 0x30, 0x48, 0x60, 0x6C};
|
|
|
u16 wSuppRate;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Create Basic Service Set .......\n");
|
|
|
|
|
|
if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA) {
|
|
@@ -2095,7 +2048,6 @@ void vMgrCreateOwnIBSS(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
pMgmt->abyCurrSuppRates[2+ii] = abyRATE[ii];
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (pMgmt->eCurrentPHYMode == PHY_TYPE_11G) {
|
|
|
pMgmt->abyCurrSuppRates[1] = 8;
|
|
|
pMgmt->abyCurrExtSuppRates[1] = 4;
|
|
@@ -2107,7 +2059,6 @@ void vMgrCreateOwnIBSS(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
pMgmt->abyCurrExtSuppRates[2+ii] = abyOFDM_RATE[ii+4];
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// Disable Protect Mode
|
|
|
pDevice->bProtectMode = 0;
|
|
|
MACvDisableProtectMD(pDevice);
|
|
@@ -2150,8 +2101,6 @@ void vMgrCreateOwnIBSS(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
&wMaxBasicRate, &wMaxSuppRate, &wSuppRate,
|
|
|
&byTopCCKBasicRate, &byTopOFDMBasicRate);
|
|
|
|
|
|
-
|
|
|
-
|
|
|
if (pDevice->byBBType == BB_TYPE_11A) {
|
|
|
pDevice->bShortSlotTime = true;
|
|
|
} else {
|
|
@@ -2215,7 +2164,6 @@ void vMgrCreateOwnIBSS(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
pMgmt->abyCurrBSSID[0] &= ~IEEE_ADDR_GROUP;
|
|
|
pMgmt->abyCurrBSSID[0] |= IEEE_ADDR_UNIVERSAL;
|
|
|
|
|
|
-
|
|
|
DBG_PRT(MSG_LEVEL_INFO, KERN_INFO"Adhoc beacon created bssid:"
|
|
|
"%pM\n", pMgmt->abyCurrBSSID);
|
|
|
}
|
|
@@ -2307,7 +2255,6 @@ void vMgrJoinBSSBegin(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
u8 byTopOFDMBasicRate = RATE_1M;
|
|
|
u8 bShortSlotTime = false;
|
|
|
|
|
|
-
|
|
|
for (ii = 0; ii < MAX_BSS_NUM; ii++) {
|
|
|
if (pMgmt->sBSSList[ii].bActive == true)
|
|
|
break;
|
|
@@ -2513,7 +2460,6 @@ void vMgrJoinBSSBegin(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
pMgmt->eCurrState = WMAC_STATE_IDLE;
|
|
|
};
|
|
|
|
|
|
-
|
|
|
}
|
|
|
else {
|
|
|
// ad-hoc mode BSS
|
|
@@ -2553,7 +2499,6 @@ void vMgrJoinBSSBegin(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
// TODO: check if CapInfo privacy on, but we don't..
|
|
|
pMgmt->uCurrChannel = pCurr->uChannel;
|
|
|
|
|
|
-
|
|
|
// Parse Support Rate IE
|
|
|
pMgmt->abyCurrSuppRates[0] = WLAN_EID_SUPP_RATES;
|
|
|
pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pCurr->abySuppRates,
|
|
@@ -2603,8 +2548,6 @@ void vMgrJoinBSSBegin(struct vnt_private *pDevice, PCMD_STATUS pStatus)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -2800,7 +2743,6 @@ static void Encyption_Rebuild(struct vnt_private *pDevice, PKnownBSS pCurr)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -2822,7 +2764,6 @@ static void s_vMgrFormatTIM(struct vnt_manager *pMgmt, PWLAN_IE_TIM pTIM)
|
|
|
u16 wStartIndex = 0;
|
|
|
u16 wEndIndex = 0;
|
|
|
|
|
|
-
|
|
|
// Find size of partial virtual bitmap
|
|
|
for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) {
|
|
|
byMap = pMgmt->abyPSTxMap[ii];
|
|
@@ -2843,7 +2784,6 @@ static void s_vMgrFormatTIM(struct vnt_manager *pMgmt, PWLAN_IE_TIM pTIM)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// Round start index down to nearest even number
|
|
|
wStartIndex &= ~BIT0;
|
|
|
|
|
@@ -2870,7 +2810,6 @@ static void s_vMgrFormatTIM(struct vnt_manager *pMgmt, PWLAN_IE_TIM pTIM)
|
|
|
pTIM->byVirtBitMap[0] &= ~BIT0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -2892,7 +2831,6 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
|
|
|
WLAN_FR_BEACON sFrame;
|
|
|
u8 abyBroadcastAddr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
|
|
|
|
|
|
-
|
|
|
/* prepare beacon frame */
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
@@ -2992,7 +2930,6 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (pMgmt->eCurrentPHYMode == PHY_TYPE_11G) {
|
|
|
sFrame.pERP = (PWLAN_IE_ERP)(sFrame.pBuf + sFrame.len);
|
|
|
sFrame.len += 1 + WLAN_IEHDR_LEN;
|
|
@@ -3032,10 +2969,6 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
|
|
|
return pTxPacket;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -3047,9 +2980,6 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wCurrBeaconPeriod,
|
|
|
u32 uCurrChannel, u16 wCurrATIMWinodw, u8 *pDstAddr,
|
|
@@ -3060,7 +2990,6 @@ struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
|
|
|
struct vnt_tx_mgmt *pTxPacket = NULL;
|
|
|
WLAN_FR_PROBERESP sFrame;
|
|
|
|
|
|
-
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
|
+ WLAN_PROBERESP_FR_MAXLEN);
|
|
@@ -3160,8 +3089,6 @@ struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
|
|
|
return pTxPacket;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -3173,7 +3100,6 @@ struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, u8 *pDAddr, u16 wCurrCapInfo,
|
|
|
u16 wListenInterval,
|
|
@@ -3186,7 +3112,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
|
|
|
u8 *pbyIEs;
|
|
|
u8 *pbyRSN;
|
|
|
|
|
|
-
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
|
+ WLAN_ASSOCREQ_FR_MAXLEN);
|
|
@@ -3241,7 +3166,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
|
|
|
memcpy(pbyIEs, pCurrRates, pCurrRates->len + WLAN_IEHDR_LEN);
|
|
|
pbyIEs += pCurrRates->len + WLAN_IEHDR_LEN;
|
|
|
|
|
|
-
|
|
|
if (((pMgmt->eAuthenMode == WMAC_AUTH_WPA) ||
|
|
|
(pMgmt->eAuthenMode == WMAC_AUTH_WPAPSK) ||
|
|
|
(pMgmt->eAuthenMode == WMAC_AUTH_WPANONE)) &&
|
|
@@ -3407,20 +3331,12 @@ struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
|
|
|
pbyIEs += sFrame.pRSN->len + WLAN_IEHDR_LEN;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// Adjust the length fields
|
|
|
pTxPacket->cbMPDULen = sFrame.len;
|
|
|
pTxPacket->cbPayloadLen = sFrame.len - WLAN_HDR_ADDR3_LEN;
|
|
|
return pTxPacket;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -3432,7 +3348,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, u8 *pDAddr, u16 wCurrCapInfo,
|
|
|
u16 wListenInterval, PWLAN_IE_SSID pCurrSSID,
|
|
@@ -3444,7 +3359,6 @@ struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
|
|
|
u8 *pbyIEs;
|
|
|
u8 *pbyRSN;
|
|
|
|
|
|
-
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
|
+ WLAN_REASSOCREQ_FR_MAXLEN);
|
|
@@ -3663,8 +3577,6 @@ struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
|
|
|
pbyIEs += sFrame.pRSN->len + WLAN_IEHDR_LEN;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/* Adjust the length fields */
|
|
|
pTxPacket->cbMPDULen = sFrame.len;
|
|
|
pTxPacket->cbPayloadLen = sFrame.len - WLAN_HDR_ADDR3_LEN;
|
|
@@ -3691,7 +3603,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
|
|
|
struct vnt_tx_mgmt *pTxPacket = NULL;
|
|
|
WLAN_FR_ASSOCRESP sFrame;
|
|
|
|
|
|
-
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
|
+ WLAN_ASSOCREQ_FR_MAXLEN);
|
|
@@ -3739,7 +3650,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
|
|
|
return pTxPacket;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -3751,7 +3661,6 @@ struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
struct vnt_tx_mgmt *s_MgrMakeReAssocResponse(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wAssocStatus,
|
|
|
u16 wAssocAID, u8 *pDstAddr, PWLAN_IE_SUPP_RATES pCurrSuppRates,
|
|
@@ -3760,7 +3669,6 @@ struct vnt_tx_mgmt *s_MgrMakeReAssocResponse(struct vnt_private *pDevice,
|
|
|
struct vnt_tx_mgmt *pTxPacket = NULL;
|
|
|
WLAN_FR_REASSOCRESP sFrame;
|
|
|
|
|
|
-
|
|
|
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyMgmtPacketPool;
|
|
|
memset(pTxPacket, 0, sizeof(struct vnt_tx_mgmt)
|
|
|
+ WLAN_ASSOCREQ_FR_MAXLEN);
|
|
@@ -3808,7 +3716,6 @@ struct vnt_tx_mgmt *s_MgrMakeReAssocResponse(struct vnt_private *pDevice,
|
|
|
return pTxPacket;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -3829,7 +3736,6 @@ static void s_vMgrRxProbeResponse(struct vnt_private *pDevice,
|
|
|
ERPObject sERP;
|
|
|
int bChannelHit = true;
|
|
|
|
|
|
-
|
|
|
memset(&sFrame, 0, sizeof(WLAN_FR_PROBERESP));
|
|
|
// decode the frame
|
|
|
sFrame.len = pRxPacket->cbMPDULen;
|
|
@@ -3851,7 +3757,6 @@ static void s_vMgrRxProbeResponse(struct vnt_private *pDevice,
|
|
|
if(sFrame.pSSID->len == 0)
|
|
|
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Rx Probe resp: SSID len = 0 \n");
|
|
|
|
|
|
-
|
|
|
//{{ RobertYu:20050201, 11a byCurrChannel != sFrame.pDSParms->byCurrChannel mapping
|
|
|
if( byCurrChannel > CB_MAX_CHANNEL_24G )
|
|
|
{
|
|
@@ -3886,7 +3791,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==true)
|
|
|
sERP.byERP = 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// update or insert the bss
|
|
|
pBSSList = BSSpAddrIsInBSSList((void *) pDevice,
|
|
|
sFrame.pHdr->sA3.abyAddr3,
|
|
@@ -3946,7 +3850,6 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==true)
|
|
|
*
|
|
|
-*/
|
|
|
|
|
|
-
|
|
|
static void s_vMgrRxProbeRequest(struct vnt_private *pDevice,
|
|
|
struct vnt_manager *pMgmt, struct vnt_rx_mgmt *pRxPacket)
|
|
|
{
|
|
@@ -4036,7 +3939,6 @@ void vMgrRxManagePacket(struct vnt_private *pDevice, struct vnt_manager *pMgmt,
|
|
|
NODE_STATE eNodeState = 0;
|
|
|
CMD_STATUS Status;
|
|
|
|
|
|
-
|
|
|
if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
|
|
|
if (BSSbIsSTAInNodeDB(pDevice, pRxPacket->p80211Header->sA3.abyAddr2, &uNodeIndex))
|
|
|
eNodeState = pMgmt->sNodeDBTable[uNodeIndex].eNodeState;
|
|
@@ -4208,9 +4110,6 @@ int bMgrPrepareBeaconToSend(struct vnt_private *pDevice,
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/*+
|
|
|
*
|
|
|
* Routine Description:
|
|
@@ -4302,8 +4201,6 @@ int bAdd_PMKID_Candidate(struct vnt_private *pDevice, u8 *pbyBSSID,
|
|
|
if (pDevice->gsPMKIDCandidate.NumCandidates >= MAX_PMKIDLIST)
|
|
|
return false;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// Update Old Candidate
|
|
|
for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) {
|
|
|
pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii];
|
|
@@ -4509,4 +4406,3 @@ s_bCipherMatch (
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-
|