/** @file\r
The driver binding and service binding protocol for IP4 driver.\r
\r
-Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
\r
This program and the accompanying materials\r
ZeroMem (&IpSb->SnpMode, sizeof (EFI_SIMPLE_NETWORK_MODE));\r
\r
IpSb->Timer = NULL;\r
+ IpSb->ReconfigCheckTimer = NULL;\r
\r
IpSb->ReconfigEvent = NULL;\r
\r
goto ON_ERROR;\r
}\r
\r
+ Status = gBS->CreateEvent (\r
+ EVT_NOTIFY_SIGNAL | EVT_TIMER,\r
+ TPL_CALLBACK,\r
+ Ip4TimerReconfigChecking,\r
+ IpSb,\r
+ &IpSb->ReconfigCheckTimer\r
+ );\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ goto ON_ERROR;\r
+ }\r
+\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
TPL_NOTIFY,\r
IpSb->Timer = NULL;\r
}\r
\r
+ if (IpSb->ReconfigCheckTimer != NULL) {\r
+ gBS->SetTimer (IpSb->ReconfigCheckTimer, TimerCancel, 0);\r
+ gBS->CloseEvent (IpSb->ReconfigCheckTimer);\r
+\r
+ IpSb->ReconfigCheckTimer = NULL;\r
+ }\r
+\r
if (IpSb->DefaultInterface != NULL) {\r
Status = Ip4FreeInterface (IpSb->DefaultInterface, NULL);\r
\r
goto UNINSTALL_PROTOCOL;\r
}\r
\r
+ Status = gBS->SetTimer (IpSb->ReconfigCheckTimer, TimerPeriodic, 500 * TICKS_PER_MS);\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ goto UNINSTALL_PROTOCOL;\r
+ }\r
+\r
//\r
// Initialize the IP4 ID\r
//\r