git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10098
6f19259b-4bc3-4df7-8a09-
765794883524
break;\r
\r
case ByRegisterNotify:\r
break;\r
\r
case ByRegisterNotify:\r
+ GetNext = SmmGetNextLocateByRegisterNotify;\r
//\r
// Must have SearchKey for locate ByRegisterNotify\r
//\r
if (SearchKey == NULL) {\r
Status = EFI_INVALID_PARAMETER;\r
//\r
// Must have SearchKey for locate ByRegisterNotify\r
//\r
if (SearchKey == NULL) {\r
Status = EFI_INVALID_PARAMETER;\r
- GetNext = SmmGetNextLocateByRegisterNotify;\r
break;\r
\r
case ByProtocol:\r
break;\r
\r
case ByProtocol:\r
if (PoolIndex == MAX_POOL_INDEX) {\r
Hdr = (FREE_POOL_HEADER *)AllocatePages (EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1));\r
if (Hdr == NULL) {\r
if (PoolIndex == MAX_POOL_INDEX) {\r
Hdr = (FREE_POOL_HEADER *)AllocatePages (EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1));\r
if (Hdr == NULL) {\r
- Status = EFI_OUT_OF_RESOURCES;\r
+ return EFI_OUT_OF_RESOURCES;\r
}\r
} else if (!IsListEmpty (&mSmmPoolLists[PoolIndex])) {\r
Hdr = BASE_CR (GetFirstNode (&mSmmPoolLists[PoolIndex]), FREE_POOL_HEADER, Link);\r
}\r
} else if (!IsListEmpty (&mSmmPoolLists[PoolIndex])) {\r
Hdr = BASE_CR (GetFirstNode (&mSmmPoolLists[PoolIndex]), FREE_POOL_HEADER, Link);\r
\r
PoolIndex = HighBitSet32 ((UINT32)FreePoolHdr->Header.Size) - MIN_POOL_SHIFT;\r
FreePoolHdr->Header.Available = TRUE;\r
\r
PoolIndex = HighBitSet32 ((UINT32)FreePoolHdr->Header.Size) - MIN_POOL_SHIFT;\r
FreePoolHdr->Header.Available = TRUE;\r
+ ASSERT (PoolIndex < MAX_POOL_INDEX);\r
InsertHeadList (&mSmmPoolLists[PoolIndex], &FreePoolHdr->Link);\r
return EFI_SUCCESS;\r
}\r
InsertHeadList (&mSmmPoolLists[PoolIndex], &FreePoolHdr->Link);\r
return EFI_SUCCESS;\r
}\r