mirror of https://gitee.com/openkylin/linux.git
staging: vt6656: datarate/dpc/hostap/power use new structures.
Use struct vnt_private struct vnt_manager Move vnt_manager from sMgmtObj to vnt_mgmt. This patch cleans up function declarations, definitions and local variables where appropriate replacing types defined in "type.h" with linux/types.h. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d56131def6
commit
45c73bb125
|
@ -188,28 +188,19 @@ RATEwGetRateIdx(
|
|||
* Return Value: none
|
||||
*
|
||||
-*/
|
||||
void RATEvParseMaxRate(
|
||||
void *pDeviceHandler,
|
||||
PWLAN_IE_SUPP_RATES pItemRates,
|
||||
PWLAN_IE_SUPP_RATES pItemExtRates,
|
||||
BOOL bUpdateBasicRate,
|
||||
PWORD pwMaxBasicRate,
|
||||
PWORD pwMaxSuppRate,
|
||||
PWORD pwSuppRate,
|
||||
PBYTE pbyTopCCKRate,
|
||||
PBYTE pbyTopOFDMRate
|
||||
)
|
||||
|
||||
void RATEvParseMaxRate(struct vnt_private *pDevice,
|
||||
PWLAN_IE_SUPP_RATES pItemRates, PWLAN_IE_SUPP_RATES pItemExtRates,
|
||||
int bUpdateBasicRate, u16 *pwMaxBasicRate, u16 *pwMaxSuppRate,
|
||||
u16 *pwSuppRate, u8 *pbyTopCCKRate, u8 *pbyTopOFDMRate)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice) pDeviceHandler;
|
||||
unsigned int ii;
|
||||
BYTE byHighSuppRate = 0;
|
||||
BYTE byRate = 0;
|
||||
WORD wOldBasicRate = pDevice->wBasicRate;
|
||||
unsigned int uRateLen;
|
||||
int ii;
|
||||
u8 byHighSuppRate = 0, byRate = 0;
|
||||
u16 wOldBasicRate = pDevice->wBasicRate;
|
||||
u32 uRateLen;
|
||||
|
||||
|
||||
if (pItemRates == NULL)
|
||||
return;
|
||||
if (pItemRates == NULL)
|
||||
return;
|
||||
|
||||
*pwSuppRate = 0;
|
||||
uRateLen = pItemRates->len;
|
||||
|
@ -301,27 +292,24 @@ unsigned int uRateLen;
|
|||
#define AUTORATE_TXCNT_THRESHOLD 20
|
||||
#define AUTORATE_INC_THRESHOLD 30
|
||||
|
||||
void
|
||||
RATEvTxRateFallBack(
|
||||
void *pDeviceHandler,
|
||||
PKnownNodeDB psNodeDBTable
|
||||
)
|
||||
void RATEvTxRateFallBack(struct vnt_private *pDevice,
|
||||
PKnownNodeDB psNodeDBTable)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice) pDeviceHandler;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
WORD wIdxDownRate = 0;
|
||||
unsigned int ii;
|
||||
BOOL bAutoRate[MAX_RATE] = {TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE};
|
||||
DWORD dwThroughputTbl[MAX_RATE] = {10, 20, 55, 110, 60, 90, 120, 180, 240, 360, 480, 540};
|
||||
DWORD dwThroughput = 0;
|
||||
WORD wIdxUpRate = 0;
|
||||
DWORD dwTxDiff = 0;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u16 wIdxDownRate = 0;
|
||||
int ii;
|
||||
int bAutoRate[MAX_RATE] = {TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE,
|
||||
TRUE, TRUE, TRUE, TRUE, TRUE};
|
||||
u32 dwThroughputTbl[MAX_RATE] = {10, 20, 55, 110, 60, 90, 120, 180,
|
||||
240, 360, 480, 540};
|
||||
u32 dwThroughput = 0;
|
||||
u16 wIdxUpRate = 0;
|
||||
u32 dwTxDiff = 0;
|
||||
|
||||
if (pMgmt->eScanState != WMAC_NO_SCANNING) {
|
||||
// Don't do Fallback when scanning Channel
|
||||
return;
|
||||
}
|
||||
psNodeDBTable->uTimeCount ++;
|
||||
if (pMgmt->eScanState != WMAC_NO_SCANNING)
|
||||
return; /* Don't do Fallback when scanning Channel */
|
||||
|
||||
psNodeDBTable->uTimeCount++;
|
||||
|
||||
if (psNodeDBTable->uTxFail[MAX_RATE] > psNodeDBTable->uTxOk[MAX_RATE])
|
||||
dwTxDiff = psNodeDBTable->uTxFail[MAX_RATE] - psNodeDBTable->uTxOk[MAX_RATE];
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#ifndef __DATARATE_H__
|
||||
#define __DATARATE_H__
|
||||
|
||||
|
||||
/*--------------------- Export Definitions -------------------------*/
|
||||
|
||||
#define FALLBACK_PKT_COLLECT_TR_H 50 // pkts
|
||||
|
@ -69,24 +70,13 @@
|
|||
|
||||
|
||||
|
||||
void
|
||||
RATEvParseMaxRate(
|
||||
void *pDeviceHandler,
|
||||
PWLAN_IE_SUPP_RATES pItemRates,
|
||||
PWLAN_IE_SUPP_RATES pItemExtRates,
|
||||
BOOL bUpdateBasicRate,
|
||||
PWORD pwMaxBasicRate,
|
||||
PWORD pwMaxSuppRate,
|
||||
PWORD pwSuppRate,
|
||||
PBYTE pbyTopCCKRate,
|
||||
PBYTE pbyTopOFDMRate
|
||||
);
|
||||
void RATEvParseMaxRate(struct vnt_private *, PWLAN_IE_SUPP_RATES pItemRates,
|
||||
PWLAN_IE_SUPP_RATES pItemExtRates, int bUpdateBasicRate,
|
||||
u16 *pwMaxBasicRate, u16 *pwMaxSuppRate, u16 *pwSuppRate,
|
||||
u8 *pbyTopCCKRate, u8 *pbyTopOFDMRate);
|
||||
|
||||
void
|
||||
RATEvTxRateFallBack(
|
||||
void *pDeviceHandler,
|
||||
PKnownNodeDB psNodeDBTable
|
||||
);
|
||||
void RATEvTxRateFallBack(struct vnt_private *pDevice,
|
||||
PKnownNodeDB psNodeDBTable);
|
||||
|
||||
BYTE
|
||||
RATEuSetIE(
|
||||
|
|
|
@ -84,61 +84,23 @@ s_vGetDASA(
|
|||
PSEthernetHeader psEthHeader
|
||||
);
|
||||
|
||||
static
|
||||
void
|
||||
s_vProcessRxMACHeader (
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyRxBufferAddr,
|
||||
unsigned int cbPacketSize,
|
||||
BOOL bIsWEP,
|
||||
BOOL bExtIV,
|
||||
unsigned int *pcbHeadSize
|
||||
);
|
||||
static void s_vProcessRxMACHeader(struct vnt_private *pDevice,
|
||||
u8 *pbyRxBufferAddr, u32 cbPacketSize, int bIsWEP, int bExtIV,
|
||||
u32 *pcbHeadSize);
|
||||
|
||||
static BOOL s_bAPModeRxCtl(
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
signed int iSANodeIndex
|
||||
);
|
||||
static int s_bAPModeRxCtl(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
s32 iSANodeIndex);
|
||||
|
||||
static int s_bAPModeRxData(struct vnt_private *pDevice, struct sk_buff *skb,
|
||||
u32 FrameSize, u32 cbHeaderOffset, s32 iSANodeIndex, s32 iDANodeIndex);
|
||||
|
||||
static int s_bHandleRxEncryption(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
u32 FrameSize, u8 *pbyRsr, u8 *pbyNewRsr, PSKeyItem *pKeyOut,
|
||||
s32 *pbExtIV, u16 *pwRxTSC15_0, u32 *pdwRxTSC47_16);
|
||||
|
||||
static BOOL s_bAPModeRxData (
|
||||
PSDevice pDevice,
|
||||
struct sk_buff *skb,
|
||||
unsigned int FrameSize,
|
||||
unsigned int cbHeaderOffset,
|
||||
signed int iSANodeIndex,
|
||||
signed int iDANodeIndex
|
||||
);
|
||||
|
||||
|
||||
static BOOL s_bHandleRxEncryption(
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
unsigned int FrameSize,
|
||||
PBYTE pbyRsr,
|
||||
PBYTE pbyNewRsr,
|
||||
PSKeyItem * pKeyOut,
|
||||
int * pbExtIV,
|
||||
PWORD pwRxTSC15_0,
|
||||
PDWORD pdwRxTSC47_16
|
||||
);
|
||||
|
||||
static BOOL s_bHostWepRxEncryption(
|
||||
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
unsigned int FrameSize,
|
||||
PBYTE pbyRsr,
|
||||
BOOL bOnFly,
|
||||
PSKeyItem pKey,
|
||||
PBYTE pbyNewRsr,
|
||||
int * pbExtIV,
|
||||
PWORD pwRxTSC15_0,
|
||||
PDWORD pdwRxTSC47_16
|
||||
|
||||
);
|
||||
static int s_bHostWepRxEncryption(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
u32 FrameSize, u8 *pbyRsr, int bOnFly, PSKeyItem pKey, u8 *pbyNewRsr,
|
||||
s32 *pbExtIV, u16 *pwRxTSC15_0, u32 *pdwRxTSC47_16);
|
||||
|
||||
/*--------------------- Export Variables --------------------------*/
|
||||
|
||||
|
@ -159,22 +121,16 @@ static BOOL s_bHostWepRxEncryption(
|
|||
* Return Value: None
|
||||
*
|
||||
-*/
|
||||
static
|
||||
void
|
||||
s_vProcessRxMACHeader (
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyRxBufferAddr,
|
||||
unsigned int cbPacketSize,
|
||||
BOOL bIsWEP,
|
||||
BOOL bExtIV,
|
||||
unsigned int *pcbHeadSize
|
||||
)
|
||||
|
||||
static void s_vProcessRxMACHeader(struct vnt_private *pDevice,
|
||||
u8 *pbyRxBufferAddr, u32 cbPacketSize, int bIsWEP, int bExtIV,
|
||||
u32 *pcbHeadSize)
|
||||
{
|
||||
PBYTE pbyRxBuffer;
|
||||
unsigned int cbHeaderSize = 0;
|
||||
PWORD pwType;
|
||||
PS802_11Header pMACHeader;
|
||||
int ii;
|
||||
u8 *pbyRxBuffer;
|
||||
u32 cbHeaderSize = 0;
|
||||
u16 *pwType;
|
||||
PS802_11Header pMACHeader;
|
||||
int ii;
|
||||
|
||||
|
||||
pMACHeader = (PS802_11Header) (pbyRxBufferAddr + cbHeaderSize);
|
||||
|
@ -310,56 +266,39 @@ s_vGetDASA (
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOL
|
||||
RXbBulkInProcessData (
|
||||
PSDevice pDevice,
|
||||
PRCB pRCB,
|
||||
unsigned long BytesToIndicate
|
||||
)
|
||||
int RXbBulkInProcessData(struct vnt_private *pDevice, PRCB pRCB,
|
||||
unsigned long BytesToIndicate)
|
||||
{
|
||||
|
||||
struct net_device_stats* pStats=&pDevice->stats;
|
||||
struct sk_buff* skb;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
PSRxMgmtPacket pRxPacket = &(pMgmt->sRxPacket);
|
||||
PS802_11Header p802_11Header;
|
||||
PBYTE pbyRsr;
|
||||
PBYTE pbyNewRsr;
|
||||
PBYTE pbyRSSI;
|
||||
struct net_device_stats *pStats = &pDevice->stats;
|
||||
struct sk_buff *skb;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
struct vnt_rx_mgmt *pRxPacket = &pMgmt->sRxPacket;
|
||||
PS802_11Header p802_11Header;
|
||||
u8 *pbyRsr, *pbyNewRsr, *pbyRSSI, *pbyFrame;
|
||||
u64 *pqwTSFTime;
|
||||
PBYTE pbyFrame;
|
||||
BOOL bDeFragRx = FALSE;
|
||||
unsigned int cbHeaderOffset;
|
||||
u32 bDeFragRx = FALSE;
|
||||
u32 cbHeaderOffset, cbIVOffset;
|
||||
u32 FrameSize;
|
||||
WORD wEtherType = 0;
|
||||
signed int iSANodeIndex = -1;
|
||||
signed int iDANodeIndex = -1;
|
||||
unsigned int ii;
|
||||
unsigned int cbIVOffset;
|
||||
PBYTE pbyRxSts;
|
||||
PBYTE pbyRxRate;
|
||||
PBYTE pbySQ;
|
||||
PBYTE pby3SQ;
|
||||
unsigned int cbHeaderSize;
|
||||
PSKeyItem pKey = NULL;
|
||||
WORD wRxTSC15_0 = 0;
|
||||
DWORD dwRxTSC47_16 = 0;
|
||||
SKeyItem STempKey;
|
||||
// 802.11h RPI
|
||||
/* signed long ldBm = 0; */
|
||||
BOOL bIsWEP = FALSE;
|
||||
BOOL bExtIV = FALSE;
|
||||
u16 wEtherType = 0;
|
||||
s32 iSANodeIndex = -1, iDANodeIndex = -1;
|
||||
int ii;
|
||||
u8 *pbyRxSts, *pbyRxRate, *pbySQ, *pby3SQ;
|
||||
u32 cbHeaderSize;
|
||||
PSKeyItem pKey = NULL;
|
||||
u16 wRxTSC15_0 = 0;
|
||||
u32 dwRxTSC47_16 = 0;
|
||||
SKeyItem STempKey;
|
||||
/* signed long ldBm = 0; */
|
||||
int bIsWEP = FALSE; int bExtIV = FALSE;
|
||||
u32 dwWbkStatus;
|
||||
PRCB pRCBIndicate = pRCB;
|
||||
PBYTE pbyDAddress;
|
||||
PWORD pwPLCP_Length;
|
||||
BYTE abyVaildRate[MAX_RATE] = {2,4,11,22,12,18,24,36,48,72,96,108};
|
||||
WORD wPLCPwithPadding;
|
||||
PS802_11Header pMACHeader;
|
||||
BOOL bRxeapol_key = FALSE;
|
||||
|
||||
PRCB pRCBIndicate = pRCB;
|
||||
u8 *pbyDAddress;
|
||||
u16 *pwPLCP_Length;
|
||||
u8 abyVaildRate[MAX_RATE]
|
||||
= {2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108};
|
||||
u16 wPLCPwithPadding;
|
||||
PS802_11Header pMACHeader;
|
||||
int bRxeapol_key = FALSE;
|
||||
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---------- RXbBulkInProcessData---\n");
|
||||
|
@ -985,16 +924,12 @@ RXbBulkInProcessData (
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static BOOL s_bAPModeRxCtl (
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
signed int iSANodeIndex
|
||||
)
|
||||
static int s_bAPModeRxCtl(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
s32 iSANodeIndex)
|
||||
{
|
||||
PS802_11Header p802_11Header;
|
||||
CMD_STATUS Status;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &(pDevice->sMgmtObj);
|
||||
PS802_11Header p802_11Header;
|
||||
CMD_STATUS Status;
|
||||
|
||||
|
||||
if (IS_CTL_PSPOLL(pbyFrame) || !IS_TYPE_CONTROL(pbyFrame)) {
|
||||
|
@ -1096,24 +1031,16 @@ static BOOL s_bAPModeRxCtl (
|
|||
|
||||
}
|
||||
|
||||
static BOOL s_bHandleRxEncryption (
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
unsigned int FrameSize,
|
||||
PBYTE pbyRsr,
|
||||
PBYTE pbyNewRsr,
|
||||
PSKeyItem * pKeyOut,
|
||||
int * pbExtIV,
|
||||
PWORD pwRxTSC15_0,
|
||||
PDWORD pdwRxTSC47_16
|
||||
)
|
||||
static int s_bHandleRxEncryption(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
u32 FrameSize, u8 *pbyRsr, u8 *pbyNewRsr, PSKeyItem *pKeyOut,
|
||||
s32 *pbExtIV, u16 *pwRxTSC15_0, u32 *pdwRxTSC47_16)
|
||||
{
|
||||
unsigned int PayloadLen = FrameSize;
|
||||
PBYTE pbyIV;
|
||||
BYTE byKeyIdx;
|
||||
PSKeyItem pKey = NULL;
|
||||
BYTE byDecMode = KEY_CTL_WEP;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u32 PayloadLen = FrameSize;
|
||||
u8 *pbyIV;
|
||||
u8 byKeyIdx;
|
||||
PSKeyItem pKey = NULL;
|
||||
u8 byDecMode = KEY_CTL_WEP;
|
||||
|
||||
|
||||
*pwRxTSC15_0 = 0;
|
||||
|
@ -1241,31 +1168,19 @@ static BOOL s_bHandleRxEncryption (
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static BOOL s_bHostWepRxEncryption (
|
||||
PSDevice pDevice,
|
||||
PBYTE pbyFrame,
|
||||
unsigned int FrameSize,
|
||||
PBYTE pbyRsr,
|
||||
BOOL bOnFly,
|
||||
PSKeyItem pKey,
|
||||
PBYTE pbyNewRsr,
|
||||
int * pbExtIV,
|
||||
PWORD pwRxTSC15_0,
|
||||
PDWORD pdwRxTSC47_16
|
||||
)
|
||||
static int s_bHostWepRxEncryption(struct vnt_private *pDevice, u8 *pbyFrame,
|
||||
u32 FrameSize, u8 *pbyRsr, int bOnFly, PSKeyItem pKey, u8 *pbyNewRsr,
|
||||
s32 *pbExtIV, u16 *pwRxTSC15_0, u32 *pdwRxTSC47_16)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
unsigned int PayloadLen = FrameSize;
|
||||
PBYTE pbyIV;
|
||||
BYTE byKeyIdx;
|
||||
BYTE byDecMode = KEY_CTL_WEP;
|
||||
PS802_11Header pMACHeader;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
PS802_11Header pMACHeader;
|
||||
u32 PayloadLen = FrameSize;
|
||||
u8 *pbyIV;
|
||||
u8 byKeyIdx;
|
||||
u8 byDecMode = KEY_CTL_WEP;
|
||||
|
||||
|
||||
|
||||
*pwRxTSC15_0 = 0;
|
||||
*pdwRxTSC47_16 = 0;
|
||||
*pwRxTSC15_0 = 0;
|
||||
*pdwRxTSC47_16 = 0;
|
||||
|
||||
pbyIV = pbyFrame + WLAN_HDR_ADDR3_LEN;
|
||||
if ( WLAN_GET_FC_TODS(*(PWORD)pbyFrame) &&
|
||||
|
@ -1372,27 +1287,17 @@ static BOOL s_bHostWepRxEncryption (
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static BOOL s_bAPModeRxData (
|
||||
PSDevice pDevice,
|
||||
struct sk_buff *skb,
|
||||
unsigned int FrameSize,
|
||||
unsigned int cbHeaderOffset,
|
||||
signed int iSANodeIndex,
|
||||
signed int iDANodeIndex
|
||||
)
|
||||
|
||||
static int s_bAPModeRxData(struct vnt_private *pDevice, struct sk_buff *skb,
|
||||
u32 FrameSize, u32 cbHeaderOffset, s32 iSANodeIndex, s32 iDANodeIndex)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
BOOL bRelayAndForward = FALSE;
|
||||
BOOL bRelayOnly = FALSE;
|
||||
BYTE byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80};
|
||||
WORD wAID;
|
||||
struct sk_buff *skbcpy;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
int bRelayAndForward = FALSE;
|
||||
int bRelayOnly = FALSE;
|
||||
u8 byMask[8] = {1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80};
|
||||
u16 wAID;
|
||||
|
||||
|
||||
struct sk_buff* skbcpy = NULL;
|
||||
|
||||
if (FrameSize > CB_MAX_BUF_SIZE)
|
||||
return FALSE;
|
||||
// check DA
|
||||
|
@ -1468,11 +1373,10 @@ static BOOL s_bAPModeRxData (
|
|||
|
||||
|
||||
|
||||
void RXvWorkItem(void *Context)
|
||||
void RXvWorkItem(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice) Context;
|
||||
int ntStatus;
|
||||
PRCB pRCB=NULL;
|
||||
int ntStatus;
|
||||
PRCB pRCB = NULL;
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Rx Polling Thread\n");
|
||||
spin_lock_irq(&pDevice->lock);
|
||||
|
@ -1492,13 +1396,9 @@ void RXvWorkItem(void *Context)
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
RXvFreeRCB(
|
||||
PRCB pRCB,
|
||||
BOOL bReAllocSkb
|
||||
)
|
||||
void RXvFreeRCB(PRCB pRCB, int bReAllocSkb)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)pRCB->pDevice;
|
||||
struct vnt_private *pDevice = pRCB->pDevice;
|
||||
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->RXvFreeRCB\n");
|
||||
|
@ -1537,12 +1437,11 @@ RXvFreeRCB(
|
|||
}
|
||||
|
||||
|
||||
void RXvMngWorkItem(void *Context)
|
||||
void RXvMngWorkItem(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice) Context;
|
||||
PRCB pRCB=NULL;
|
||||
PSRxMgmtPacket pRxPacket;
|
||||
BOOL bReAllocSkb = FALSE;
|
||||
PRCB pRCB = NULL;
|
||||
struct vnt_rx_mgmt *pRxPacket;
|
||||
int bReAllocSkb = FALSE;
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Rx Mng Thread\n");
|
||||
|
||||
|
|
|
@ -45,17 +45,9 @@ void RXvWorkItem(void *Context);
|
|||
|
||||
void RXvMngWorkItem(void *Context);
|
||||
|
||||
void
|
||||
RXvFreeRCB(
|
||||
PRCB pRCB,
|
||||
BOOL bReAllocSkb
|
||||
);
|
||||
void RXvFreeRCB(PRCB pRCB, int bReAllocSkb);
|
||||
|
||||
BOOL
|
||||
RXbBulkInProcessData(
|
||||
PSDevice pDevice,
|
||||
PRCB pRCB,
|
||||
unsigned long BytesToIndicate
|
||||
);
|
||||
int RXbBulkInProcessData(struct vnt_private *, PRCB pRCB,
|
||||
unsigned long BytesToIndicate);
|
||||
|
||||
#endif /* __RXTX_H__ */
|
||||
|
|
|
@ -60,13 +60,13 @@ static int msglevel =MSG_LEVEL_INFO;
|
|||
*
|
||||
*/
|
||||
|
||||
static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
|
||||
static int hostap_enable_hostapd(struct vnt_private *pDevice, int rtnl_locked)
|
||||
{
|
||||
PSDevice apdev_priv;
|
||||
struct vnt_private *apdev_priv;
|
||||
struct net_device *dev = pDevice->dev;
|
||||
int ret;
|
||||
const struct net_device_ops apdev_netdev_ops = {
|
||||
.ndo_start_xmit = pDevice->tx_80211,
|
||||
.ndo_start_xmit = pDevice->tx_80211,
|
||||
};
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Enabling hostapd mode\n", dev->name);
|
||||
|
@ -120,7 +120,7 @@ static int hostap_enable_hostapd(PSDevice pDevice, int rtnl_locked)
|
|||
*
|
||||
*/
|
||||
|
||||
static int hostap_disable_hostapd(PSDevice pDevice, int rtnl_locked)
|
||||
static int hostap_disable_hostapd(struct vnt_private *pDevice, int rtnl_locked)
|
||||
{
|
||||
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: disabling hostapd mode\n", pDevice->dev->name);
|
||||
|
@ -157,7 +157,8 @@ static int hostap_disable_hostapd(PSDevice pDevice, int rtnl_locked)
|
|||
*
|
||||
*/
|
||||
|
||||
int vt6656_hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked)
|
||||
int vt6656_hostap_set_hostapd(struct vnt_private *pDevice,
|
||||
int val, int rtnl_locked)
|
||||
{
|
||||
if (val < 0 || val > 1)
|
||||
return -EINVAL;
|
||||
|
@ -187,8 +188,8 @@ int vt6656_hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked)
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_remove_sta(PSDevice pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
static int hostap_remove_sta(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
{
|
||||
unsigned int uNodeIndex;
|
||||
|
||||
|
@ -215,16 +216,15 @@ static int hostap_remove_sta(PSDevice pDevice,
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_add_sta(PSDevice pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
static int hostap_add_sta(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
unsigned int uNodeIndex;
|
||||
|
||||
if (!BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex))
|
||||
BSSvCreateOneNode(pDevice, &uNodeIndex);
|
||||
|
||||
if (!BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) {
|
||||
BSSvCreateOneNode((PSDevice)pDevice, &uNodeIndex);
|
||||
}
|
||||
memcpy(pMgmt->sNodeDBTable[uNodeIndex].abyMACAddr, param->sta_addr, WLAN_ADDR_LEN);
|
||||
pMgmt->sNodeDBTable[uNodeIndex].eNodeState = NODE_ASSOC;
|
||||
pMgmt->sNodeDBTable[uNodeIndex].wCapInfo = param->u.add_sta.capability;
|
||||
|
@ -275,10 +275,10 @@ static int hostap_add_sta(PSDevice pDevice,
|
|||
*
|
||||
*/
|
||||
|
||||
static int hostap_get_info_sta(PSDevice pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
static int hostap_get_info_sta(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
unsigned int uNodeIndex;
|
||||
|
||||
if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) {
|
||||
|
@ -308,10 +308,10 @@ static int hostap_get_info_sta(PSDevice pDevice,
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_set_flags_sta(PSDevice pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
static int hostap_set_flags_sta(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
unsigned int uNodeIndex;
|
||||
|
||||
if (BSSbIsSTAInNodeDB(pDevice, param->sta_addr, &uNodeIndex)) {
|
||||
|
@ -342,10 +342,10 @@ static int hostap_set_flags_sta(PSDevice pDevice,
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_set_generic_element(PSDevice pDevice,
|
||||
static int hostap_set_generic_element(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
|
||||
|
||||
|
||||
|
@ -388,7 +388,7 @@ static int hostap_set_generic_element(PSDevice pDevice,
|
|||
*
|
||||
*/
|
||||
|
||||
static void hostap_flush_sta(PSDevice pDevice)
|
||||
static void hostap_flush_sta(struct vnt_private *pDevice)
|
||||
{
|
||||
// reserved node index =0 for multicast node.
|
||||
BSSvClearNodeDBTable(pDevice, 1);
|
||||
|
@ -410,21 +410,20 @@ static void hostap_flush_sta(PSDevice pDevice)
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_set_encryption(PSDevice pDevice,
|
||||
struct viawget_hostapd_param *param,
|
||||
int param_len)
|
||||
static int hostap_set_encryption(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param, int param_len)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
DWORD dwKeyIndex = 0;
|
||||
BYTE abyKey[MAX_KEY_LEN];
|
||||
BYTE abySeq[MAX_KEY_LEN];
|
||||
NDIS_802_11_KEY_RSC KeyRSC;
|
||||
BYTE byKeyDecMode = KEY_CTL_WEP;
|
||||
int ret = 0;
|
||||
int iNodeIndex = -1;
|
||||
int ii;
|
||||
BOOL bKeyTableFull = FALSE;
|
||||
WORD wKeyCtl = 0;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u32 dwKeyIndex = 0;
|
||||
u8 abyKey[MAX_KEY_LEN];
|
||||
u8 abySeq[MAX_KEY_LEN];
|
||||
NDIS_802_11_KEY_RSC KeyRSC;
|
||||
u8 byKeyDecMode = KEY_CTL_WEP;
|
||||
int ret = 0;
|
||||
s32 iNodeIndex = -1;
|
||||
int ii;
|
||||
int bKeyTableFull = FALSE;
|
||||
u16 wKeyCtl = 0;
|
||||
|
||||
|
||||
param->u.crypt.err = 0;
|
||||
|
@ -647,14 +646,14 @@ static int hostap_set_encryption(PSDevice pDevice,
|
|||
* Return Value:
|
||||
*
|
||||
*/
|
||||
static int hostap_get_encryption(PSDevice pDevice,
|
||||
static int hostap_get_encryption(struct vnt_private *pDevice,
|
||||
struct viawget_hostapd_param *param,
|
||||
int param_len)
|
||||
{
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
int ret = 0;
|
||||
int ii;
|
||||
int iNodeIndex =0;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
int ret = 0;
|
||||
int ii;
|
||||
s32 iNodeIndex = 0;
|
||||
|
||||
|
||||
param->u.crypt.err = 0;
|
||||
|
@ -692,7 +691,7 @@ static int hostap_get_encryption(PSDevice pDevice,
|
|||
*
|
||||
*/
|
||||
|
||||
int vt6656_hostap_ioctl(PSDevice pDevice, struct iw_point *p)
|
||||
int vt6656_hostap_ioctl(struct vnt_private *pDevice, struct iw_point *p)
|
||||
{
|
||||
struct viawget_hostapd_param *param;
|
||||
int ret = 0;
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
#define ARPHRD_IEEE80211 801
|
||||
#endif
|
||||
|
||||
int vt6656_hostap_set_hostapd(PSDevice pDevice, int val, int rtnl_locked);
|
||||
int vt6656_hostap_ioctl(PSDevice pDevice, struct iw_point *p);
|
||||
int vt6656_hostap_set_hostapd(struct vnt_private *, int val, int rtnl_locked);
|
||||
int vt6656_hostap_ioctl(struct vnt_private *, struct iw_point *p);
|
||||
|
||||
#endif /* __HOSTAP_H__ */
|
||||
|
|
|
@ -70,12 +70,10 @@ static int msglevel = MSG_LEVEL_INFO;
|
|||
*
|
||||
*/
|
||||
|
||||
void PSvEnablePowerSaving(void *hDeviceContext,
|
||||
WORD wListenInterval)
|
||||
void PSvEnablePowerSaving(struct vnt_private *pDevice, u16 wListenInterval)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
WORD wAID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u16 wAID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
|
||||
/* set period of power up before TBTT */
|
||||
MACvWriteWord(pDevice, MAC_REG_PWBT, C_PWBT);
|
||||
|
@ -136,10 +134,8 @@ void PSvEnablePowerSaving(void *hDeviceContext,
|
|||
*
|
||||
*/
|
||||
|
||||
void PSvDisablePowerSaving(void *hDeviceContext)
|
||||
void PSvDisablePowerSaving(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
/* PSMgmtObject pMgmt = &(pDevice->sMgmtObj); */
|
||||
|
||||
/* disable power saving hw function */
|
||||
CONTROLnsRequestOut(pDevice, MESSAGE_TYPE_DISABLE_PS, 0,
|
||||
|
@ -168,13 +164,11 @@ void PSvDisablePowerSaving(void *hDeviceContext)
|
|||
* FALSE, if fail
|
||||
*/
|
||||
|
||||
BOOL PSbConsiderPowerDown(void *hDeviceContext,
|
||||
BOOL bCheckRxDMA,
|
||||
BOOL bCheckCountToWakeUp)
|
||||
int PSbConsiderPowerDown(struct vnt_private *pDevice, int bCheckRxDMA,
|
||||
int bCheckCountToWakeUp)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
BYTE byData;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u8 byData;
|
||||
|
||||
/* check if already in Doze mode */
|
||||
ControlvReadByte(pDevice, MESSAGE_REQUEST_MACREG,
|
||||
|
@ -225,15 +219,17 @@ BOOL PSbConsiderPowerDown(void *hDeviceContext,
|
|||
*
|
||||
*/
|
||||
|
||||
void PSvSendPSPOLL(void *hDeviceContext)
|
||||
void PSvSendPSPOLL(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
struct vnt_tx_mgmt *pTxPacket = NULL;
|
||||
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(struct vnt_tx_mgmt)
|
||||
+ WLAN_HDR_ADDR2_LEN);
|
||||
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((u8 *)pTxPacket
|
||||
+ sizeof(struct vnt_tx_mgmt));
|
||||
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_HDR_ADDR2_LEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket));
|
||||
pTxPacket->p80211Header->sA2.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_CTL) |
|
||||
|
@ -263,11 +259,10 @@ void PSvSendPSPOLL(void *hDeviceContext)
|
|||
*
|
||||
*/
|
||||
|
||||
BOOL PSbSendNullPacket(void *hDeviceContext)
|
||||
int PSbSendNullPacket(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
struct vnt_tx_mgmt *pTxPacket = NULL;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
u16 flags = 0;
|
||||
|
||||
if (pDevice->bLinkPass == FALSE)
|
||||
|
@ -278,9 +273,11 @@ BOOL PSbSendNullPacket(void *hDeviceContext)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((PBYTE)pTxPacket + sizeof(STxMgmtPacket));
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(struct vnt_tx_mgmt)
|
||||
+ WLAN_NULLDATA_FR_MAXLEN);
|
||||
pTxPacket = (struct vnt_tx_mgmt *)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((u8 *)pTxPacket
|
||||
+ sizeof(struct vnt_tx_mgmt));
|
||||
|
||||
flags = WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL);
|
||||
|
@ -318,11 +315,10 @@ BOOL PSbSendNullPacket(void *hDeviceContext)
|
|||
*
|
||||
*/
|
||||
|
||||
BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext)
|
||||
int PSbIsNextTBTTWakeUp(struct vnt_private *pDevice)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = &(pDevice->sMgmtObj);
|
||||
BOOL bWakeUp = FALSE;
|
||||
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
|
||||
int bWakeUp = FALSE;
|
||||
|
||||
if (pMgmt->wListenInterval >= 2) {
|
||||
if (pMgmt->wCountToWakeUp == 0)
|
||||
|
|
|
@ -48,14 +48,12 @@
|
|||
/* PSDevice pDevice */
|
||||
/* PSDevice hDeviceContext */
|
||||
|
||||
BOOL PSbConsiderPowerDown(void *hDeviceContext,
|
||||
BOOL bCheckRxDMA,
|
||||
BOOL bCheckCountToWakeUp);
|
||||
|
||||
void PSvDisablePowerSaving(void *hDeviceContext);
|
||||
void PSvEnablePowerSaving(void *hDeviceContext, WORD wListenInterval);
|
||||
void PSvSendPSPOLL(void *hDeviceContext);
|
||||
BOOL PSbSendNullPacket(void *hDeviceContext);
|
||||
BOOL PSbIsNextTBTTWakeUp(void *hDeviceContext);
|
||||
int PSbConsiderPowerDown(struct vnt_private *, int bCheckRxDMA,
|
||||
int bCheckCountToWakeUp);
|
||||
void PSvDisablePowerSaving(struct vnt_private *);
|
||||
void PSvEnablePowerSaving(struct vnt_private *, u16 wListenInterval);
|
||||
void PSvSendPSPOLL(struct vnt_private *);
|
||||
int PSbSendNullPacket(struct vnt_private *);
|
||||
int PSbIsNextTBTTWakeUp(struct vnt_private *);
|
||||
|
||||
#endif /* __POWER_H__ */
|
||||
|
|
Loading…
Reference in New Issue