summaryrefslogtreecommitdiff
path: root/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c')
-rw-r--r--NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.c14
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;