/** @file\r
Core Timer Services\r
\r
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
/**\r
Called by the platform code to process a tick.\r
\r
- @param Duration The number of 100ns elasped since the last call\r
+ @param Duration The number of 100ns elapsed since the last call\r
to TimerTick\r
\r
**/\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (Type < 0 || Type > TimerRelative || (Event->Type & EVT_TIMER) == 0) {\r
+ if ((UINT32)Type > TimerRelative || (Event->Type & EVT_TIMER) == 0) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (Type != TimerCancel) {\r
\r
if (Type == TimerPeriodic) {\r
+ if (TriggerTime == 0) {\r
+ gTimer->GetTimerPeriod (gTimer, &TriggerTime);\r
+ }\r
Event->Timer.Period = TriggerTime;\r
}\r
\r