Revision: 201006 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:51:11 +0200
branchRCL_3
changeset 5 51a71243e562
parent 3 6524e815f76f
child 6 e0f767079796
Revision: 201006 Kit: 201008
wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_types.h
wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_power_save_test.cpp
wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_scan.cpp
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/group/wlmserversrv.mmh
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlandevicesettings.h
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmclientserver.h
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmserver.h
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscan.cpp
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanconversionutil.cpp
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlandevicesettings.cpp
wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlmserver.cpp
wlan_plat/wlan_device_settings_api/inc/wlandevicesettingsinternalcrkeys.h
--- a/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_types.h	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_types.h	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 93.1.1 %
+* %version: 95 %
 */
 
 #ifndef CORE_TYPES_H
@@ -561,13 +561,6 @@
      */
     core_notification_rcpi_roam_attempt_completed,
     /**
-     * Indicates that the Broken Power Save test has failed.
-     * 
-     * If the Broken Power Save test fails, the engine will not allow the any power
-     * save functionality to be used with this BSSID, decreasing battery life.
-     */
-    core_notification_broken_power_save_test_failed,
-    /**
      * Indicates the traffic mode of an access class has changed.
      *
      * The first byte of payload data contains the access class
--- a/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_power_save_test.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_power_save_test.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-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"
@@ -235,13 +235,7 @@
                 server_m->get_connection_data()->add_ap_power_save_test_verdict(
                     bssid,
                     false_t );                
-                /**
-                 * Notify adaptation about the failed test.
-                 */
-                adaptation_m->notify(
-                    core_notification_broken_power_save_test_failed,
-                    0,
-                    NULL );
+
                 }
             else if( return_status_m == core_error_timeout )
                 {
--- a/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_scan.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/src/core_operation_scan.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-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"
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/group/wlmserversrv.mmh	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/group/wlmserversrv.mmh	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 9 %
+* %version: 10 %
 */
 
 TARGETTYPE      dll
@@ -133,7 +133,6 @@
 SOURCE          wlannotificationhandler.cpp
 SOURCE          wlanmgmtframehandler.cpp
 SOURCE          wlanscanresultcache.cpp
-SOURCE          wlancbwaiter.cpp
 SOURCE          wlanconversionutil.cpp
 SOURCE          wlmtools.cpp
 SOURCE          wlangenericplugin.cpp
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlandevicesettings.h	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlandevicesettings.h	Fri Mar 12 15:51:11 2010 +0200
@@ -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: 19 %
+* %version: 21 %
 */
 
 #ifndef WLANDEVICESETTINGS_H
@@ -154,7 +154,6 @@
         TUint32 qosNullFrameEntryTimeout;           ///< If the time between two voice packets is less than this value, QoS NULL data frame sending is started (in microseconds).
         TUint32 maxApDeauthenticationCount;         ///< After a successful roam an AP can deauthenticate the terminal this many times before it's blacklisted.
         TUint32 apDeauthenticationTimeout;          ///< Deauthentications that happen within time defined by this value after a successful roam are calculated towards AP's deauthentication count (in microseconds).
-        TBool showBrokenPowerSaveNote;              ///< Is WLAN Broken Power Save Note shown on UI.
         TUint32 maxDtimSkipInterval;                ///< Maximum amount of microseconds to sleep when waking up on DTIMs.       
         TUint32 psActiveToLightTimeout;             ///< Timeout for Active->Light transition.
         TUint32 psActiveToLightThreshold;           ///< Frame count threshold for Active->Light transition.
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmclientserver.h	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmclientserver.h	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 41 %
+* %version: 42 %
 */
 
 #ifndef WLMCLIENTSERVER_H
@@ -243,9 +243,8 @@
     EWlmNotifyAccessPointInfoChanged        = 0x0400,
     EWlmNotifyRcpiRoamAttemptStarted        = 0x0800,
     EWlmNotifyRcpiRoamAttemptCompleted      = 0x1000,
-    EWlmNotifyBrokenPowerSaveTestFailed     = 0x2000,
-    EWlmNotifyAcTrafficModeChanged          = 0x4000,
-    EWlmNotifyAcTrafficStatusChanged        = 0x8000
+    EWlmNotifyAcTrafficModeChanged          = 0x2000,
+    EWlmNotifyAcTrafficStatusChanged        = 0x4000
     };
 
 /**
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmserver.h	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlmserver.h	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 50 %
+* %version: 52 %
 */
 
 #ifndef WLMSERVER_H
@@ -39,7 +39,6 @@
 #include "wlaneapolinterface.h"
 #include "wlaneapolclient.h"
 #include "wlangenericplugin.h"
-#include "wlancbwaiter.h"
 
 class CWlmDriverIf;
 class CWlanSsidListDb;
@@ -180,15 +179,6 @@
             TBool aOldNetworksLost = EFalse );
         
         /**
-        * Callback function to receive notification about closed
-        * Broken Power Save Note dialog.
-        * @param aThisPtr Pointer to the server instance.
-        * @return error code
-        */
-        static TInt HandleBrokenPowerSaveNoteClosed(
-            TAny *aThisPtr );
-        
-        /**
          * Notify changed PSM server mode
          *
          * @since Series 60 5.2
@@ -1344,26 +1334,6 @@
         CWlanSsidListDb* iSsidListDb;
         
         /**
-         * Whether to show Broken Power Save Note.
-         */
-        TBool iShowBrokenPowerSaveNote;
-        
-        /**
-         * Active object handling the Broken Power Save Notifier.
-         */
-        CWlanCbWaiter* iBrokenPowerSaveNotifierWaiter;
-        
-        /**
-         * Notifier for displaying Broken Power Save Note dialog.
-         */
-        RNotifier iBrokenPowerSaveNotifier;
-
-        /**
-         * Reply from Broken Power Save Notifier.
-         */
-        TPckgBuf<TBool> iBrokenPowerSaveNotifierReply;
-        
-        /**
          * Background scan provider.
          */
         MWlanBgScanProvider* iBgScanProvider;
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscan.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscan.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 14 %
+* %version: 15 %
 */
 
 #include <e32base.h>
@@ -25,7 +25,6 @@
 #include "wlanscanproviderinterface.h"
 #include "awsinterface.h"
 #include "awsenginebase.h"
-#include "wlancbwaiter.h"
 #include "wlanbgscanawscommsinterface.h"
 #include "wlanbgscanstates.h"
 #include "wlanbgscan.h"
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 2 %
+* %version: 3 %
 */
 
 #include <e32base.h>
@@ -25,7 +25,6 @@
 #include "wlanscanproviderinterface.h"
 #include "awsinterface.h"
 #include "awsenginebase.h"
-#include "wlancbwaiter.h"
 #include "wlanbgscanawscommsinterface.h"
 #include "wlanbgscan.h"
 #include "wlanbgscanstates.h"
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanconversionutil.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanconversionutil.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 83 %
+* %version: 84 %
 */
 
 #include <in_sock.h>
@@ -284,8 +284,6 @@
             return EWlmNotifyRcpiRoamAttemptStarted;
         case core_notification_rcpi_roam_attempt_completed:
             return EWlmNotifyRcpiRoamAttemptCompleted;
-        case core_notification_broken_power_save_test_failed:
-            return EWlmNotifyBrokenPowerSaveTestFailed;
         case core_notification_ac_traffic_mode_changed:
             return EWlmNotifyAcTrafficModeChanged;
         case core_notification_ac_traffic_status_changed:
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlandevicesettings.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlandevicesettings.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -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: 17 %
+* %version: 19 %
 */
 
 // INCLUDE FILES
@@ -166,7 +166,6 @@
     aSettings.qosNullFrameEntryTimeout = KWlanDefaultQoSNullFrameEntryTimeout;   
     aSettings.maxApDeauthenticationCount = KWlanDefaultMaxApDeauthenticationCount; 
     aSettings.apDeauthenticationTimeout = KWlanDefaultApDeauthenticationTimeout;  
-    aSettings.showBrokenPowerSaveNote = ETrue;
     aSettings.maxDtimSkipInterval = KWlanDefaultMaxDtimSkipInterval;
     aSettings.psActiveToLightTimeout = KWlanDefaultPsActiveToLightTimeout;
     aSettings.psActiveToLightThreshold = KWlanDefaultPsActiveToLightThreshold;
@@ -523,13 +522,6 @@
         aSettings.apDeauthenticationTimeout = temp;
         }                                
 
-    // Read KWlanShowBrokenPowerSaveNote
-    err = repository->Get( KWlanShowBrokenPowerSaveNote, temp );
-    if( err == KErrNone ) 
-        {
-        aSettings.showBrokenPowerSaveNote = static_cast<TBool>( temp );
-        }  
-
     // Read KWlanMaxDtimSkipInterval
     err = repository->Get( KWlanMaxDtimSkipInterval, temp );
     if( err == KErrNone ) 
@@ -1081,15 +1073,6 @@
         DEBUG1( "CWlanDeviceSettings::WritePrivateData() - could not set key 0x%X", KWlanApDeauthenticationTimeout );
         }
 
-    // Write KWlanShowBrokenPowerSaveNote
-    err = repository->Set( 
-        KWlanShowBrokenPowerSaveNote, 
-        static_cast<TInt>( aSettings.showBrokenPowerSaveNote ) );
-    if( err ) 
-        {
-        DEBUG1( "CWlanDeviceSettings::WritePrivateData() - could not set key 0x%X", KWlanShowBrokenPowerSaveNote );
-        }
-
     // Write KWlanMaxDtimSkipInterval
     err = repository->Set( 
         KWlanMaxDtimSkipInterval, 
@@ -1622,8 +1605,6 @@
         aSettings.maxApDeauthenticationCount );
     DEBUG1( "CWlanDeviceSettings::LogSettings() - apDeauthenticationTimeout == %u",
         aSettings.apDeauthenticationTimeout );
-    DEBUG1( "CWlanDeviceSettings::LogSettings() - showBrokenPowerSaveNote == %u",
-        static_cast<TUint32>( aSettings.showBrokenPowerSaveNote ) );
     DEBUG1( "CWlanDeviceSettings::LogSettings() - maxDtimSkipInterval == %u",
         aSettings.maxDtimSkipInterval );
     DEBUG1( "CWlanDeviceSettings::LogSettings() - psActiveToLightTimeout == %u",
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlmserver.cpp	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlmserver.cpp	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 97 %
+* %version: 99 %
 */
 
 #include <e32def.h>
@@ -147,8 +147,6 @@
     iPowerSaveMode( EWlanPowerSaveAutomatic ),
     iPowerSaveEnabled( EFalse ),
     iSsidListDb( NULL ),
-    iShowBrokenPowerSaveNote( ETrue ),
-    iBrokenPowerSaveNotifierWaiter( NULL ),
     iBgScanProvider( NULL ),
     iTimerServices( NULL ),
     iAggressiveScanningAfterLinkLoss( EFalse )
@@ -234,10 +232,6 @@
     // Create SSID list storage.
     iSsidListDb = CWlanSsidListDb::NewL();
     
-    // Initialise Broken Power Save Note handling
-    TCallBack cb( HandleBrokenPowerSaveNoteClosed, this );
-    iBrokenPowerSaveNotifierWaiter = CWlanCbWaiter::NewL( cb );
-    
     iTimerServices = CWlanTimerServices::NewL();
     
     iBgScanProvider = CWlanBgScan::NewL( static_cast<MWlanScanResultProvider&>( *this ), *iTimerServices );
@@ -295,9 +289,6 @@
     delete iCoreAsynchCb;
     delete iScanSchedulingTimer;
     delete iSsidListDb;
-    delete iBrokenPowerSaveNotifierWaiter;
-    iBrokenPowerSaveNotifier.Close();
-
     if ( iEapolClient )
         {
         delete iEapolClient;
@@ -1265,25 +1256,6 @@
         return;
         }
 
-    /**
-     * If maxDelay is not infinite, background scanning isn't enabled
-     * and there are no WLAN IAPs defined, scanning isn't needed at all.
-     */
-    if ( maxDelayPckg() != KWlmInfiniteScanDelay &&
-         !iBgScanProvider->IsBgScanEnabled() &&
-         !iapList.Count() )
-        {
-        DEBUG( "CWlmServer::GetAvailableIaps() - no WLAN IAPs defined, skipping scanning" );
-
-        TWlmAvailableIaps tmp = { 0 };
-        TPckg<TWlmAvailableIaps> outPckg( tmp );
-        aMessage.Write( 0, outPckg );
-        aMessage.Complete( KErrNone );
-        iapList.Close();
-
-        return;
-        }
-
     // Create list for WLAN IAP data
     core_type_list_c<core_iap_data_s>* iapDataList = new core_type_list_c<core_iap_data_s>;
     if( iapDataList == NULL )
@@ -1544,10 +1516,6 @@
 
         return TWlanConversionUtil::ConvertErrorCode( ret );
         }
-    
-    // Store show broken power save note value
-    iShowBrokenPowerSaveNote = settings.showBrokenPowerSaveNote;
-    
     DEBUG( "CWlmServer::UpdateWlanSettings() - returning" );
 
     return KErrNone;
@@ -1833,13 +1801,6 @@
                     // if background scan is on, this call will cause a background scan
 					// when the background scan is completed, the icon is updated
                     iBgScanProvider->NotConnected();
-                    
-                    if ( iBrokenPowerSaveNotifierWaiter->IsActive() )
-                        {
-                        // cancelling the notifier will cause the iBrokenPowerSaveNotifierWaiter
-                        // to be cancelled as well
-                        iBrokenPowerSaveNotifier.CancelNotifier( KUidWlanPowerSaveTestNote );
-                        }
                     break;
                 case EWlanStateInfrastructure:
                     DEBUG( "CWlmServer::notify() - STATE: EWlanStateInfrastructure" );
@@ -1902,93 +1863,12 @@
         case EWlmNotifyAcTrafficStatusChanged:
             DEBUG( "CWlmServer::notify() - STATE: EWlmNotifyAcTrafficStatusChanged<ind>" );
             break;
-        case EWlmNotifyBrokenPowerSaveTestFailed:
-            DEBUG( "CWlmServer::notify() - STATE: EWlmNotifyBrokenPowerSaveTestFailed<ind>" );
-            
-            DEBUG1( "CWlmServer::notify() - iShowBrokenPowerSaveNote: %d",
-                    static_cast<TInt>( iShowBrokenPowerSaveNote ) );
-            
-            if ( iShowBrokenPowerSaveNote )
-                {
-                if ( !iBrokenPowerSaveNotifierWaiter->IsActive() )
-                    {
-                    TInt err = iBrokenPowerSaveNotifier.Connect();
-                    DEBUG1( "CWlmServer::notify() - iNotifier.Connect() returned %d", err );
-                    if ( err == KErrNone )
-                        {
-                        iBrokenPowerSaveNotifier.StartNotifierAndGetResponse( iBrokenPowerSaveNotifierWaiter->RequestStatus(),
-                                        KUidWlanPowerSaveTestNote, KNullDesC8(), iBrokenPowerSaveNotifierReply );
-
-                        iBrokenPowerSaveNotifierWaiter->IssueRequest();
-                        }
-                    }
-#ifdef _DEBUG
-                else
-                    {
-                    DEBUG( "CWlmServer::notify() - Notifier already active on the screen" );
-                    }
-#endif
-                }
-            break;    
         default:
             break;
         }
     }
 
 // ---------------------------------------------------------
-// CWlmServer::BrokenPowerSaveNoteClosed
-// ---------------------------------------------------------
-//
-TInt CWlmServer::HandleBrokenPowerSaveNoteClosed(
-    TAny *aThisPtr )
-    {
-    DEBUG( "CWlmServer::HandleBrokenPowerSaveNoteClosed()" );
-    
-    CWlmServer* self = static_cast<CWlmServer*>( aThisPtr );
-
-    ASSERT( self );
-    ASSERT( self->iBrokenPowerSaveNotifierWaiter );
-
-    // close the notifier
-    self->iBrokenPowerSaveNotifier.Close();
-    
-    // check the request's completion status
-    TInt err = self->iBrokenPowerSaveNotifierWaiter->RequestStatus().Int();
-    switch ( err )
-        {
-        case KErrNotFound:
-            {
-            DEBUG( "CWlmServer::HandleBrokenPowerSaveNoteClosed() - Notifier not found, returning" );
-            return err;   
-            }
-        case KErrCancel:
-            {
-            DEBUG( "CWlmServer::HandleBrokenPowerSaveNoteClosed() - Notifier cancelled, returning" );
-            return err;        
-            }
-        default:
-            {
-            // flow through            
-            }
-        }
-    
-    self->iShowBrokenPowerSaveNote = self->iBrokenPowerSaveNotifierReply() ? EFalse : ETrue;
-
-    // re-use err variable
-    TRAP( err, self->StoreWlanCenRepKeyValueL( KWlanShowBrokenPowerSaveNote, self->iShowBrokenPowerSaveNote ) );
-    if ( err != KErrNone )
-        {
-        DEBUG1( "CWlmServer::HandleBrokenPowerSaveNoteClosed() - failed to update CenRep, error code %d", err );
-        return err;
-        }
-    
-    DEBUG1( "CWlmServer::HandleBrokenPowerSaveNoteClosed() - iShowBrokenPowerSaveNote value (%d) stored to CenRep",
-            static_cast<TInt>( self->iShowBrokenPowerSaveNote ) );
-        
-    return err;
-    }
-
-// ---------------------------------------------------------
 // CWlmServer::NotifyChangedPsmSrvMode
 // ---------------------------------------------------------
 //
@@ -3625,12 +3505,11 @@
         return KErrNone;        
         }
     
-    // If roaming is ongoing, scanning is not started for GetAvailableIaps. 
+    // If the command is GetAvailableIaps
     if ( self->iRequestMap[index].iRequestId >= KWlanExtCmdBase && 
-         self->iRequestMap[index].iFunction == EGetAvailableIaps && 
-         self->IsRoaming() )
+         self->iRequestMap[index].iFunction == EGetAvailableIaps )
         {
-        DEBUG( "CWlmServer::ScanSchedulingTimerExpired() - GetAvailableIaps, roam in progress, returning empty iap list" );
+        DEBUG( "CWlmServer::ScanSchedulingTimerExpired() - GetAvailableIaps requested" );
 
         core_type_list_c<core_iap_data_s>* iapDataList = reinterpret_cast<core_type_list_c<core_iap_data_s>*>( self->iRequestMap[index].iParam0 );
         core_type_list_c<u32_t>* iapIdList =  reinterpret_cast<core_type_list_c<u32_t>*>( self->iRequestMap[index].iParam1 );
@@ -3638,36 +3517,42 @@
         core_type_list_c<core_ssid_entry_s>* iapSsidList =  reinterpret_cast<core_type_list_c<core_ssid_entry_s>*>( self->iRequestMap[index].iParam3 );
         TTime* scanTime =  reinterpret_cast<TTime*>( self->iRequestMap[index].iTime );        
         
-        // Only the triggering request is completed and then scan scheduling timer is set again 
-        if( self->IsSessionActive( self->iRequestMap[index] ) )
+        // If the device is roaming OR there are not WLAN IAPs defined in the device
+        // --> return empty list
+        if( self->IsRoaming() || iapDataList->count() == 0 )
             {
-            TWlmAvailableIaps tmp = { 0 };
-            TPckg<TWlmAvailableIaps> outPckg( tmp );
-            self->iRequestMap[index].iMessage.Write( 0, outPckg );
-            self->iRequestMap[index].iMessage.Complete( KErrNone );
+            DEBUG( "CWlmServer::ScanSchedulingTimerExpired() - Device is roaming or no IAPs defined, returning empty list" );
+            // Only the triggering request is completed and then scan scheduling timer is set again 
+            if( self->IsSessionActive( self->iRequestMap[index] ) )
+                {
+                TWlmAvailableIaps tmp = { 0 };
+                TPckg<TWlmAvailableIaps> outPckg( tmp );
+                self->iRequestMap[index].iMessage.Write( 0, outPckg );
+                self->iRequestMap[index].iMessage.Complete( KErrNone );
+                }
+
+            delete iapDataList;
+            iapDataList = NULL;
+            delete iapIdList;
+            iapIdList = NULL;
+            delete scanList;
+            scanList = NULL;
+            delete iapSsidList;
+            iapSsidList = NULL;
+            delete scanTime;
+            scanTime = NULL;
+        
+            self->iRequestMap.Remove( index );
+
+            if( self->FindNextTimedScanSchedulingRequest( indexNextScan ) )
+                {
+                TTime* nextScanTime = reinterpret_cast<TTime*>( self->iRequestMap[indexNextScan].iTime );
+                self->UpdateScanSchedulingTimer( *nextScanTime, self->iRequestMap[indexNextScan].iRequestId );
+                }
+        
+            DEBUG( "CWlmServer::ScanSchedulingTimerExpired() - message completed with empty iap list" );
+            return KErrNone;        
             }
-
-        delete iapDataList;
-        iapDataList = NULL;
-        delete iapIdList;
-        iapIdList = NULL;
-        delete scanList;
-        scanList = NULL;
-        delete iapSsidList;
-        iapSsidList = NULL;
-        delete scanTime;
-        scanTime = NULL;
-        
-        self->iRequestMap.Remove( index );
-
-        if( self->FindNextTimedScanSchedulingRequest( indexNextScan ) )
-            {
-            TTime* nextScanTime = reinterpret_cast<TTime*>( self->iRequestMap[indexNextScan].iTime );
-            self->UpdateScanSchedulingTimer( *nextScanTime, self->iRequestMap[indexNextScan].iRequestId );
-            }
-        
-        DEBUG( "CWlmServer::ScanSchedulingTimerExpired() - message completed with empty iap list" );
-        return KErrNone;        
         }
 
     // If triggering request is background scan and WLAN connection exist, background scan is skipped
--- a/wlan_plat/wlan_device_settings_api/inc/wlandevicesettingsinternalcrkeys.h	Sat Feb 20 00:38:18 2010 +0200
+++ b/wlan_plat/wlan_device_settings_api/inc/wlandevicesettingsinternalcrkeys.h	Fri Mar 12 15:51:11 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 11 %
+* %version: 11.1.1 %
 */
 
 #ifndef WLANDEVICESETTINGSINTERNALCRKEYS_H
@@ -179,11 +179,6 @@
 const TUint32 KWlanDefaultBGScanInterval =               0x0000001D;
 
 /**
- * Whether Broken Power Save note is shown to user.
- */
-const TUint32 KWlanShowBrokenPowerSaveNote =             0x0000001E;
-
-/**
  * Maximum amount of microseconds to sleep when waking up on DTIMs.
  */
 const TUint32 KWlanMaxDtimSkipInterval =                 0x0000001F;