staging:vt6655:power: Whitespace cleanups
Neatening only. git diff -w shows no differences. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a51ff9058c
commit
474f0f89ef
|
@ -54,7 +54,7 @@
|
|||
/*--------------------- Static Classes ----------------------------*/
|
||||
|
||||
/*--------------------- Static Variables --------------------------*/
|
||||
static int msglevel =MSG_LEVEL_INFO;
|
||||
static int msglevel = MSG_LEVEL_INFO;
|
||||
/*--------------------- Static Functions --------------------------*/
|
||||
|
||||
|
||||
|
@ -71,62 +71,62 @@ static int msglevel =MSG_LEVEL_INFO;
|
|||
* Return Value:
|
||||
* None.
|
||||
*
|
||||
-*/
|
||||
-*/
|
||||
|
||||
|
||||
void
|
||||
PSvEnablePowerSaving(
|
||||
void *hDeviceContext,
|
||||
unsigned short wListenInterval
|
||||
)
|
||||
void *hDeviceContext,
|
||||
unsigned short wListenInterval
|
||||
)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned short wAID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned short wAID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
|
||||
// set period of power up before TBTT
|
||||
VNSvOutPortW(pDevice->PortOffset + MAC_REG_PWBT, C_PWBT);
|
||||
if (pDevice->eOPMode != OP_MODE_ADHOC) {
|
||||
// set AID
|
||||
VNSvOutPortW(pDevice->PortOffset + MAC_REG_AIDATIM, wAID);
|
||||
} else {
|
||||
// set ATIM Window
|
||||
MACvWriteATIMW(pDevice->PortOffset, pMgmt->wCurrATIMWindow);
|
||||
}
|
||||
// Set AutoSleep
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
|
||||
// Set HWUTSF
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
|
||||
// set period of power up before TBTT
|
||||
VNSvOutPortW(pDevice->PortOffset + MAC_REG_PWBT, C_PWBT);
|
||||
if (pDevice->eOPMode != OP_MODE_ADHOC) {
|
||||
// set AID
|
||||
VNSvOutPortW(pDevice->PortOffset + MAC_REG_AIDATIM, wAID);
|
||||
} else {
|
||||
// set ATIM Window
|
||||
MACvWriteATIMW(pDevice->PortOffset, pMgmt->wCurrATIMWindow);
|
||||
}
|
||||
// Set AutoSleep
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
|
||||
// Set HWUTSF
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
|
||||
|
||||
if (wListenInterval >= 2) {
|
||||
// clear always listen beacon
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
//pDevice->wCFG &= ~CFG_ALB;
|
||||
// first time set listen next beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_LNBCN);
|
||||
pMgmt->wCountToWakeUp = wListenInterval;
|
||||
}
|
||||
else {
|
||||
// always listen beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
//pDevice->wCFG |= CFG_ALB;
|
||||
pMgmt->wCountToWakeUp = 0;
|
||||
}
|
||||
if (wListenInterval >= 2) {
|
||||
// clear always listen beacon
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
//pDevice->wCFG &= ~CFG_ALB;
|
||||
// first time set listen next beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_LNBCN);
|
||||
pMgmt->wCountToWakeUp = wListenInterval;
|
||||
}
|
||||
else {
|
||||
// always listen beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
//pDevice->wCFG |= CFG_ALB;
|
||||
pMgmt->wCountToWakeUp = 0;
|
||||
}
|
||||
|
||||
// enable power saving hw function
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
|
||||
pDevice->bEnablePSMode = true;
|
||||
// enable power saving hw function
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
|
||||
pDevice->bEnablePSMode = true;
|
||||
|
||||
if (pDevice->eOPMode == OP_MODE_ADHOC) {
|
||||
if (pDevice->eOPMode == OP_MODE_ADHOC) {
|
||||
// bMgrPrepareBeaconToSend((void *)pDevice, pMgmt);
|
||||
}
|
||||
// We don't send null pkt in ad hoc mode since beacon will handle this.
|
||||
else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
|
||||
PSbSendNullPacket(pDevice);
|
||||
}
|
||||
pDevice->bPWBitOn = true;
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "PS:Power Saving Mode Enable... \n");
|
||||
return;
|
||||
}
|
||||
// We don't send null pkt in ad hoc mode since beacon will handle this.
|
||||
else if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
|
||||
PSbSendNullPacket(pDevice);
|
||||
}
|
||||
pDevice->bPWBitOn = true;
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "PS:Power Saving Mode Enable... \n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -142,32 +142,32 @@ PSvEnablePowerSaving(
|
|||
* Return Value:
|
||||
* None.
|
||||
*
|
||||
-*/
|
||||
-*/
|
||||
|
||||
void
|
||||
PSvDisablePowerSaving(
|
||||
void *hDeviceContext
|
||||
)
|
||||
void *hDeviceContext
|
||||
)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
// PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
|
||||
// disable power saving hw function
|
||||
MACbPSWakeup(pDevice->PortOffset);
|
||||
//clear AutoSleep
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
|
||||
//clear HWUTSF
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
|
||||
// set always listen beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
// disable power saving hw function
|
||||
MACbPSWakeup(pDevice->PortOffset);
|
||||
//clear AutoSleep
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
|
||||
//clear HWUTSF
|
||||
MACvRegBitsOff(pDevice->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
|
||||
// set always listen beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
|
||||
|
||||
pDevice->bEnablePSMode = false;
|
||||
pDevice->bEnablePSMode = false;
|
||||
|
||||
if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
|
||||
PSbSendNullPacket(pDevice);
|
||||
}
|
||||
pDevice->bPWBitOn = false;
|
||||
return;
|
||||
if (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) {
|
||||
PSbSendNullPacket(pDevice);
|
||||
}
|
||||
pDevice->bPWBitOn = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -179,61 +179,61 @@ PSvDisablePowerSaving(
|
|||
* Return Value:
|
||||
* true, if power down success
|
||||
* false, if fail
|
||||
-*/
|
||||
-*/
|
||||
|
||||
|
||||
bool
|
||||
PSbConsiderPowerDown(
|
||||
void *hDeviceContext,
|
||||
bool bCheckRxDMA,
|
||||
bool bCheckCountToWakeUp
|
||||
)
|
||||
void *hDeviceContext,
|
||||
bool bCheckRxDMA,
|
||||
bool bCheckCountToWakeUp
|
||||
)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned int uIdx;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned int uIdx;
|
||||
|
||||
// check if already in Doze mode
|
||||
if (MACbIsRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PS))
|
||||
return true;
|
||||
// check if already in Doze mode
|
||||
if (MACbIsRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PS))
|
||||
return true;
|
||||
|
||||
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
// check if in TIM wake period
|
||||
if (pMgmt->bInTIMWake)
|
||||
return false;
|
||||
}
|
||||
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
// check if in TIM wake period
|
||||
if (pMgmt->bInTIMWake)
|
||||
return false;
|
||||
}
|
||||
|
||||
// check scan state
|
||||
if (pDevice->bCmdRunning)
|
||||
return false;
|
||||
// check scan state
|
||||
if (pDevice->bCmdRunning)
|
||||
return false;
|
||||
|
||||
// Force PSEN on
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
|
||||
// Force PSEN on
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
|
||||
|
||||
// check if all TD are empty,
|
||||
for (uIdx = 0; uIdx < TYPE_MAXTD; uIdx ++) {
|
||||
if (pDevice->iTDUsed[uIdx] != 0)
|
||||
return false;
|
||||
}
|
||||
// check if all TD are empty,
|
||||
for (uIdx = 0; uIdx < TYPE_MAXTD; uIdx++) {
|
||||
if (pDevice->iTDUsed[uIdx] != 0)
|
||||
return false;
|
||||
}
|
||||
|
||||
// check if rx isr is clear
|
||||
if (bCheckRxDMA &&
|
||||
((pDevice->dwIsr& ISR_RXDMA0) != 0) &&
|
||||
((pDevice->dwIsr & ISR_RXDMA1) != 0)){
|
||||
return false;
|
||||
}
|
||||
// check if rx isr is clear
|
||||
if (bCheckRxDMA &&
|
||||
((pDevice->dwIsr & ISR_RXDMA0) != 0) &&
|
||||
((pDevice->dwIsr & ISR_RXDMA1) != 0)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
if (bCheckCountToWakeUp &&
|
||||
(pMgmt->wCountToWakeUp == 0 || pMgmt->wCountToWakeUp == 1)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
if (bCheckCountToWakeUp &&
|
||||
(pMgmt->wCountToWakeUp == 0 || pMgmt->wCountToWakeUp == 1)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// no Tx, no Rx isr, now go to Doze
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_GO2DOZE);
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Go to Doze ZZZZZZZZZZZZZZZ\n");
|
||||
return true;
|
||||
// no Tx, no Rx isr, now go to Doze
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_GO2DOZE);
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Go to Doze ZZZZZZZZZZZZZZZ\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -246,43 +246,43 @@ PSbConsiderPowerDown(
|
|||
* Return Value:
|
||||
* None.
|
||||
*
|
||||
-*/
|
||||
-*/
|
||||
|
||||
|
||||
|
||||
void
|
||||
PSvSendPSPOLL(
|
||||
void *hDeviceContext
|
||||
)
|
||||
void *hDeviceContext
|
||||
)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
|
||||
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_HDR_ADDR2_LEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((unsigned char *)pTxPacket + sizeof(STxMgmtPacket));
|
||||
pTxPacket->p80211Header->sA2.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_CTL) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PSPOLL) |
|
||||
WLAN_SET_FC_PWRMGT(0)
|
||||
));
|
||||
pTxPacket->p80211Header->sA2.wDurationID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
memcpy(pTxPacket->p80211Header->sA2.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA2.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
|
||||
pTxPacket->cbMPDULen = WLAN_HDR_ADDR2_LEN;
|
||||
pTxPacket->cbPayloadLen = 0;
|
||||
// send the frame
|
||||
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet failed..\n");
|
||||
}
|
||||
else {
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_HDR_ADDR2_LEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((unsigned char *)pTxPacket + sizeof(STxMgmtPacket));
|
||||
pTxPacket->p80211Header->sA2.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_CTL) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PSPOLL) |
|
||||
WLAN_SET_FC_PWRMGT(0)
|
||||
));
|
||||
pTxPacket->p80211Header->sA2.wDurationID = pMgmt->wCurrAID | BIT14 | BIT15;
|
||||
memcpy(pTxPacket->p80211Header->sA2.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA2.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
|
||||
pTxPacket->cbMPDULen = WLAN_HDR_ADDR2_LEN;
|
||||
pTxPacket->cbPayloadLen = 0;
|
||||
// send the frame
|
||||
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet failed..\n");
|
||||
}
|
||||
else {
|
||||
// DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet success..\n");
|
||||
};
|
||||
};
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -295,81 +295,81 @@ PSvSendPSPOLL(
|
|||
* Return Value:
|
||||
* None.
|
||||
*
|
||||
-*/
|
||||
-*/
|
||||
bool
|
||||
PSbSendNullPacket(
|
||||
void *hDeviceContext
|
||||
)
|
||||
void *hDeviceContext
|
||||
)
|
||||
{
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned int uIdx;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSTxMgmtPacket pTxPacket = NULL;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
unsigned int uIdx;
|
||||
|
||||
|
||||
if (pDevice->bLinkPass == false) {
|
||||
return false;
|
||||
}
|
||||
#ifdef TxInSleep
|
||||
if ((pDevice->bEnablePSMode == false) &&
|
||||
(pDevice->fTxDataInSleep == false)){
|
||||
return false;
|
||||
}
|
||||
if (pDevice->bLinkPass == false) {
|
||||
return false;
|
||||
}
|
||||
#ifdef TxInSleep
|
||||
if ((pDevice->bEnablePSMode == false) &&
|
||||
(pDevice->fTxDataInSleep == false)) {
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
if (pDevice->bEnablePSMode == false) {
|
||||
return false;
|
||||
}
|
||||
if (pDevice->bEnablePSMode == false) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
if (pDevice->bEnablePSMode) {
|
||||
for (uIdx = 0; uIdx < TYPE_MAXTD; uIdx ++) {
|
||||
if (pDevice->iTDUsed[uIdx] != 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (pDevice->bEnablePSMode) {
|
||||
for (uIdx = 0; uIdx < TYPE_MAXTD; uIdx++) {
|
||||
if (pDevice->iTDUsed[uIdx] != 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((unsigned char *)pTxPacket + sizeof(STxMgmtPacket));
|
||||
memset(pMgmt->pbyPSPacketPool, 0, sizeof(STxMgmtPacket) + WLAN_NULLDATA_FR_MAXLEN);
|
||||
pTxPacket = (PSTxMgmtPacket)pMgmt->pbyPSPacketPool;
|
||||
pTxPacket->p80211Header = (PUWLAN_80211HDR)((unsigned char *)pTxPacket + sizeof(STxMgmtPacket));
|
||||
|
||||
if (pDevice->bEnablePSMode) {
|
||||
if (pDevice->bEnablePSMode) {
|
||||
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
|
||||
WLAN_SET_FC_PWRMGT(1)
|
||||
));
|
||||
}
|
||||
else {
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
|
||||
WLAN_SET_FC_PWRMGT(0)
|
||||
));
|
||||
}
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
|
||||
WLAN_SET_FC_PWRMGT(1)
|
||||
));
|
||||
}
|
||||
else {
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl = cpu_to_le16(
|
||||
(
|
||||
WLAN_SET_FC_FTYPE(WLAN_TYPE_DATA) |
|
||||
WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_NULL) |
|
||||
WLAN_SET_FC_PWRMGT(0)
|
||||
));
|
||||
}
|
||||
|
||||
if(pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl |= cpu_to_le16((unsigned short)WLAN_SET_FC_TODS(1));
|
||||
}
|
||||
if (pMgmt->eCurrMode != WMAC_MODE_IBSS_STA) {
|
||||
pTxPacket->p80211Header->sA3.wFrameCtl |= cpu_to_le16((unsigned short)WLAN_SET_FC_TODS(1));
|
||||
}
|
||||
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr3, pMgmt->abyCurrBSSID, WLAN_BSSID_LEN);
|
||||
pTxPacket->cbMPDULen = WLAN_HDR_ADDR3_LEN;
|
||||
pTxPacket->cbPayloadLen = 0;
|
||||
// send the frame
|
||||
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet failed !\n");
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr1, pMgmt->abyCurrBSSID, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
|
||||
memcpy(pTxPacket->p80211Header->sA3.abyAddr3, pMgmt->abyCurrBSSID, WLAN_BSSID_LEN);
|
||||
pTxPacket->cbMPDULen = WLAN_HDR_ADDR3_LEN;
|
||||
pTxPacket->cbPayloadLen = 0;
|
||||
// send the frame
|
||||
if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
|
||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet failed !\n");
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
|
||||
// DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send Null Packet success....\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true ;
|
||||
return true;
|
||||
}
|
||||
|
||||
/*+
|
||||
|
@ -380,33 +380,33 @@ PSbSendNullPacket(
|
|||
* Return Value:
|
||||
* None.
|
||||
*
|
||||
-*/
|
||||
-*/
|
||||
|
||||
bool
|
||||
PSbIsNextTBTTWakeUp(
|
||||
void *hDeviceContext
|
||||
)
|
||||
void *hDeviceContext
|
||||
)
|
||||
{
|
||||
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
bool bWakeUp = false;
|
||||
PSDevice pDevice = (PSDevice)hDeviceContext;
|
||||
PSMgmtObject pMgmt = pDevice->pMgmt;
|
||||
bool bWakeUp = false;
|
||||
|
||||
if (pMgmt->wListenInterval >= 2) {
|
||||
if (pMgmt->wCountToWakeUp == 0) {
|
||||
pMgmt->wCountToWakeUp = pMgmt->wListenInterval;
|
||||
}
|
||||
if (pMgmt->wListenInterval >= 2) {
|
||||
if (pMgmt->wCountToWakeUp == 0) {
|
||||
pMgmt->wCountToWakeUp = pMgmt->wListenInterval;
|
||||
}
|
||||
|
||||
pMgmt->wCountToWakeUp --;
|
||||
pMgmt->wCountToWakeUp--;
|
||||
|
||||
if (pMgmt->wCountToWakeUp == 1) {
|
||||
// Turn on wake up to listen next beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_LNBCN);
|
||||
bWakeUp = true;
|
||||
}
|
||||
if (pMgmt->wCountToWakeUp == 1) {
|
||||
// Turn on wake up to listen next beacon
|
||||
MACvRegBitsOn(pDevice->PortOffset, MAC_REG_PSCTL, PSCTL_LNBCN);
|
||||
bWakeUp = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return bWakeUp;
|
||||
return bWakeUp;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,35 +50,35 @@
|
|||
|
||||
bool
|
||||
PSbConsiderPowerDown(
|
||||
void *hDeviceContext,
|
||||
bool bCheckRxDMA,
|
||||
bool bCheckCountToWakeUp
|
||||
);
|
||||
void *hDeviceContext,
|
||||
bool bCheckRxDMA,
|
||||
bool bCheckCountToWakeUp
|
||||
);
|
||||
|
||||
void
|
||||
PSvDisablePowerSaving(
|
||||
void *hDeviceContext
|
||||
);
|
||||
void *hDeviceContext
|
||||
);
|
||||
|
||||
void
|
||||
PSvEnablePowerSaving(
|
||||
void *hDeviceContext,
|
||||
unsigned short wListenInterval
|
||||
);
|
||||
void *hDeviceContext,
|
||||
unsigned short wListenInterval
|
||||
);
|
||||
|
||||
void
|
||||
PSvSendPSPOLL(
|
||||
void *hDeviceContext
|
||||
);
|
||||
void *hDeviceContext
|
||||
);
|
||||
|
||||
bool
|
||||
PSbSendNullPacket(
|
||||
void *hDeviceContext
|
||||
);
|
||||
void *hDeviceContext
|
||||
);
|
||||
|
||||
bool
|
||||
PSbIsNextTBTTWakeUp(
|
||||
void *hDeviceContext
|
||||
);
|
||||
void *hDeviceContext
|
||||
);
|
||||
|
||||
#endif //__POWER_H__
|
||||
|
|
Loading…
Reference in New Issue