diff -r af3fb27c7511 -r 13838cf40350 wlan_bearer/wlanldd/wlan_common/umac_common/src/UmacDot11InfrastructureMode.cpp --- a/wlan_bearer/wlanldd/wlan_common/umac_common/src/UmacDot11InfrastructureMode.cpp Tue May 25 14:40:09 2010 +0300 +++ b/wlan_bearer/wlanldd/wlan_common/umac_common/src/UmacDot11InfrastructureMode.cpp Mon Jun 21 17:43:00 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of the License "Eclipse Public License v1.0" @@ -16,7 +16,7 @@ */ /* -* %version: 63 % +* %version: 64 % */ #include "config.h" @@ -788,19 +788,6 @@ // // --------------------------------------------------------------------------- // -void WlanDot11InfrastructureMode::DoPsModeErrorIndication( - WlanContextImpl& aCtxImpl ) - { - OsTracePrint( KWlmIndication, (TUint8*) - ("UMAC: WlanDot11InfrastructureMode::DoPsModeErrorIndication") ); - - OnInDicationEvent( aCtxImpl, EPsModeError ); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// TBool WlanDot11InfrastructureMode::OnVoiceCallEntryTimerTimeout( WlanContextImpl& aCtxImpl ) { @@ -925,6 +912,7 @@ TUint32 lengthOfFrame( 0 ); T802Dot11FrameControlTypeMask frameType( E802Dot11FrameTypeDataNull ); + WHA::TQueueId queue_id( WHA::ELegacy ); // copy Null Data frame to tx-buffer to correct offset // client doesn't need to take care of the tx buffer header space @@ -972,7 +960,7 @@ } // determine Tx queue - const WHA::TQueueId queue_id( QueueId( aCtxImpl, start_of_frame ) ); + queue_id = QueueId( aCtxImpl, start_of_frame ); // send the Null Data frame by pushing it to packet scheduler aCtxImpl.PushPacketToPacketScheduler( @@ -982,13 +970,24 @@ frameType, NULL, EFalse, - EFalse ); + EFalse, + ETrue ); } else { // we didn't get a Tx buffer so we can't submit a frame send request. status = EFalse; } - + + TUint16 KetherType( 0 ); // N/A in this case + // check if we need to change power mgmt mode; no matter whether we + // actually managed to send a frame or not + const TPowerMgmtModeChange KPowerMgmtModeChange ( + aCtxImpl.OnFrameTx( queue_id, KetherType, frameType ) ); + + // if any change is needed regarding our power mgmt mode, + // proceed with it + PowerMgmtModeChange( aCtxImpl, KPowerMgmtModeChange ); + return status; }