summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-03 09:18:55 +0000
committergikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-03 09:18:55 +0000
commit2ebbe08cb6f2e1a52b672c220275bcde401a4413 (patch)
treec7d259fc0a75708d28e6ca54b3dc0ab0b5a2f417
parentbcd7070d86066ac788366d81e08e9b65d6db330a (diff)
downloadedk2-2ebbe08cb6f2e1a52b672c220275bcde401a4413.zip
edk2-2ebbe08cb6f2e1a52b672c220275bcde401a4413.tar.gz
edk2-2ebbe08cb6f2e1a52b672c220275bcde401a4413.tar.bz2
Fix an issue in DataHubGetNextRecord.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8458 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c b/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c
index b58de9d..a2e991a 100644
--- a/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c
+++ b/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c
@@ -243,19 +243,22 @@ DataHubGetNextRecord (
// Use the MTC from the Filter Driver.
//
FilterMonotonicCount = FilterDriver->GetNextMonotonicCount;
+
+ //
+ // The GetNextMonotonicCount field remembers the last value from the previous time.
+ // But we already processed this vaule, so we need to find the next one.
+ //
+ *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount);
if (FilterMonotonicCount != 0) {
+ *MonotonicCount = FilterMonotonicCount;
+ }
+
+ if ((FilterDriver->GetNextMonotonicCount != 0) && (FilterMonotonicCount == 0)) {
//
- // The GetNextMonotonicCount field remembers the last value from the previous time.
- // But we already processed this vaule, so we need to find the next one.
+ // If there is no new record to get exit now.
//
- *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount);
- *MonotonicCount = FilterMonotonicCount;
- if (FilterMonotonicCount == 0) {
- //
- // If there is no new record to get exit now.
- //
- return EFI_NOT_FOUND;
- }
+ *MonotonicCount = 0;
+ return EFI_NOT_FOUND;
}
}
}