diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 13:34:16 -0700 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-04-07 13:34:16 -0700 |
commit | 38f4b8c0da01ae7cd9b93386842ce272d6fde9ab (patch) | |
tree | 3c8c52201aac038094bfea7efdd0984a8f62045e /drivers/staging/rt2860/sta/rtmp_data.c | |
parent | Merge branch 'for-linus/xen/core' into for-linus/xen/master (diff) | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 (diff) | |
download | linux-dev-38f4b8c0da01ae7cd9b93386842ce272d6fde9ab.tar.xz linux-dev-38f4b8c0da01ae7cd9b93386842ce272d6fde9ab.zip |
Merge commit 'origin/master' into for-linus/xen/master
* commit 'origin/master': (4825 commits)
Fix build errors due to CONFIG_BRANCH_TRACER=y
parport: Use the PCI IRQ if offered
tty: jsm cleanups
Adjust path to gpio headers
KGDB_SERIAL_CONSOLE check for module
Change KCONFIG name
tty: Blackin CTS/RTS
Change hardware flow control from poll to interrupt driven
Add support for the MAX3100 SPI UART.
lanana: assign a device name and numbering for MAX3100
serqt: initial clean up pass for tty side
tty: Use the generic RS485 ioctl on CRIS
tty: Correct inline types for tty_driver_kref_get()
splice: fix deadlock in splicing to file
nilfs2: support nanosecond timestamp
nilfs2: introduce secondary super block
nilfs2: simplify handling of active state of segments
nilfs2: mark minor flag for checkpoint created by internal operation
nilfs2: clean up sketch file
nilfs2: super block operations fix endian bug
...
Conflicts:
arch/x86/include/asm/thread_info.h
arch/x86/lguest/boot.c
drivers/xen/manage.c
Diffstat (limited to 'drivers/staging/rt2860/sta/rtmp_data.c')
-rw-r--r-- | drivers/staging/rt2860/sta/rtmp_data.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/drivers/staging/rt2860/sta/rtmp_data.c b/drivers/staging/rt2860/sta/rtmp_data.c index 36aff247cd95..c5e76a2da56d 100644 --- a/drivers/staging/rt2860/sta/rtmp_data.c +++ b/drivers/staging/rt2860/sta/rtmp_data.c @@ -75,7 +75,6 @@ VOID STARxEAPOLFrameIndicate( if (pAd->StaCfg.DesireSharedKey[idx].KeyLen > 0) { -#ifdef RT2860 MAC_TABLE_ENTRY *pEntry = &pAd->MacTab.Content[BSSID_WCID]; // Set key material and cipherAlg to Asic @@ -89,7 +88,6 @@ VOID STARxEAPOLFrameIndicate( pAd->IndicateMediaState = NdisMediaStateConnected; pAd->ExtraInfo = GENERAL_LINK_UP; -#endif // RT2860 // // For Preventing ShardKey Table is cleared by remove key procedure. pAd->SharedKey[BSS0][idx].CipherAlg = CipherAlg; pAd->SharedKey[BSS0][idx].KeyLen = pAd->StaCfg.DesireSharedKey[idx].KeyLen; @@ -693,14 +691,12 @@ BOOLEAN STARxDoneInterruptHandle( break; } -#ifdef RT2860 if (RxProcessed++ > MAX_RX_PROCESS_CNT) { // need to reschedule rx handle bReschedule = TRUE; break; } -#endif // RT2860 // RxProcessed ++; // test @@ -811,6 +807,13 @@ BOOLEAN STARxDoneInterruptHandle( } } + // fRTMP_PS_GO_TO_SLEEP_NOW is set if receiving beacon. + if (RTMP_TEST_PSFLAG(pAd, fRTMP_PS_GO_TO_SLEEP_NOW) && (INFRA_ON(pAd))) + { + RTMP_CLEAR_PSFLAG(pAd, fRTMP_PS_GO_TO_SLEEP_NOW); + AsicSleepThenAutoWakeup(pAd, pAd->ThisTbttNumToNextWakeUp); + bReschedule = FALSE; + } return bReschedule; } @@ -828,7 +831,7 @@ BOOLEAN STARxDoneInterruptHandle( VOID RTMPHandleTwakeupInterrupt( IN PRTMP_ADAPTER pAd) { - AsicForceWakeup(pAd, FALSE); + AsicForceWakeup(pAd, DOT11POWERSAVE); } /* @@ -1220,7 +1223,6 @@ NDIS_STATUS STASendPacket( ======================================================================== */ -#ifdef RT2860 NDIS_STATUS RTMPFreeTXDRequest( IN PRTMP_ADAPTER pAd, IN UCHAR QueIdx, @@ -1264,7 +1266,6 @@ NDIS_STATUS RTMPFreeTXDRequest( return (Status); } -#endif // RT2860 // @@ -1889,7 +1890,8 @@ VOID STA_AMPDU_Frame_Tx( // // Kick out Tx // - HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); + if (!RTMP_TEST_PSFLAG(pAd, fRTMP_PS_DISABLE_TX)) + HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); pAd->RalinkCounters.KickTxCount++; pAd->RalinkCounters.OneSecTxDoneCount++; @@ -2019,7 +2021,8 @@ VOID STA_AMSDU_Frame_Tx( // // Kick out Tx // - HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); + if (!RTMP_TEST_PSFLAG(pAd, fRTMP_PS_DISABLE_TX)) + HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); } #endif // DOT11_N_SUPPORT // @@ -2139,7 +2142,8 @@ VOID STA_Legacy_Frame_Tx( // // Kick out Tx // - HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); + if (!RTMP_TEST_PSFLAG(pAd, fRTMP_PS_DISABLE_TX)) + HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); } @@ -2249,7 +2253,8 @@ VOID STA_ARalink_Frame_Tx( // // Kick out Tx // - HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); + if (!RTMP_TEST_PSFLAG(pAd, fRTMP_PS_DISABLE_TX)) + HAL_KickOutTx(pAd, pTxBlk, pTxBlk->QueIdx); } @@ -2526,7 +2531,7 @@ NDIS_STATUS STAHardTransmit( if ((pAd->StaCfg.Psm == PWR_SAVE) && OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE)) { DBGPRINT_RAW(RT_DEBUG_TRACE, ("AsicForceWakeup At HardTx\n")); - AsicForceWakeup(pAd, TRUE); + AsicForceWakeup(pAd, FROM_TX); } // It should not change PSM bit, when APSD turn on. |