summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElvin Li <elvin.li@intel.com>2013-10-29 06:47:47 +0000
committerli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2013-10-29 06:47:47 +0000
commitd1edec0a33dd6c10249c094c6ccb60c6c98d7b27 (patch)
tree498be4a22a5d7d0971e4bfed7128e30f435c2279
parent017baa1cf380ce9fd00e39bc89e6067d8bf5112b (diff)
downloadedk2-platforms-d1edec0a33dd6c10249c094c6ccb60c6c98d7b27.tar.xz
Fix the bug that SetTimer () cannot work when Type is TimerPeriodic and TriggerTime is 0.
Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14811 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Core/Dxe/Event/Timer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Dxe/Event/Timer.c b/MdeModulePkg/Core/Dxe/Event/Timer.c
index 3b17ae917c..087e55e649 100644
--- a/MdeModulePkg/Core/Dxe/Event/Timer.c
+++ b/MdeModulePkg/Core/Dxe/Event/Timer.c
@@ -1,7 +1,7 @@
/** @file
Core Timer Services
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -281,6 +281,9 @@ CoreSetTimer (
if (Type != TimerCancel) {
if (Type == TimerPeriodic) {
+ if (TriggerTime == 0) {
+ gTimer->GetTimerPeriod (gTimer, &TriggerTime);
+ }
Event->Timer.Period = TriggerTime;
}