diff options
Diffstat (limited to 'NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c')
-rw-r--r-- | NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c index 4c5460b..3b2ac0d 100644 --- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c +++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c @@ -1177,6 +1177,7 @@ WifiMgrOnConnectFinished ( }
ConfigToken->Nic->ConnectState = WifiMgrConnectedToAp;
+ gBS->SetTimer (ConfigToken->Nic->TickTimer, TimerCancel, 0);
WifiMgrUpdateConnectMessage (ConfigToken->Nic, TRUE, NULL);
Exit:
@@ -1489,6 +1490,12 @@ WifiMgrOnTimerTick ( }
Nic = (WIFI_MGR_DEVICE_DATA *)Context;
+ if (Nic->ConnectPendingNetwork == NULL) {
+ DEBUG ((DEBUG_VERBOSE, "[WiFi Connection Manager] No profile for connection, no scan triggered!\n"));
+ gBS->SetTimer (Nic->TickTimer, TimerCancel, 0);
+ return;
+ }
+
NET_CHECK_SIGNATURE (Nic, WIFI_MGR_DEVICE_DATA_SIGNATURE);
Status = WifiMgrGetLinkState (Nic, &LinkState);
@@ -1506,8 +1513,11 @@ WifiMgrOnTimerTick ( }
Nic->ScanTickTime++;
- if ((((Nic->ScanTickTime > WIFI_SCAN_FREQUENCY) && (Nic->ConnectState != WifiMgrConnectedToAp)) ||
- Nic->OneTimeScanRequest) && (Nic->ScanState == WifiMgrScanFinished))
+ if ((((Nic->ScanTickTime > WIFI_SCAN_FREQUENCY) &&
+ ((Nic->ConnectState != WifiMgrConnectedToAp) &&
+ (Nic->ConnectState != WifiMgrConnectingToAp))) ||
+ Nic->OneTimeScanRequest) &&
+ (Nic->ScanState == WifiMgrScanFinished))
{
Nic->OneTimeScanRequest = FALSE;
Nic->ScanTickTime = 0;
|