summaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block/pi
diff options
context:
space:
mode:
authorMarc Jones <marc@marcjonesconsulting.com>2018-01-12 16:52:29 +0000
committerMartin Roth <martinroth@google.com>2018-01-13 23:42:09 +0000
commita273753c729eeb2bde30ad8886649a5058430461 (patch)
treeac1433388b524d7684e79872a371a36295dc2132 /src/soc/amd/common/block/pi
parentf46fca4befee792e1762709a0e94344602bb9277 (diff)
downloadcoreboot-a273753c729eeb2bde30ad8886649a5058430461.tar.xz
Revert "soc/amd/common/pi: Fix issue in AGESA heap allocator"
This reverts commit 0f5651584ebb8e2ccfa151275bfd2f70e74bae9b. This is not the correct fix for the heap allocator. It looks like the root cause is in the buffer size of the deallocate function. Change-Id: I33c479a30d89a665677d3e4914194ae8136504af Signed-off-by: Marc Jones <marcj303@gmail.com> Reviewed-on: https://review.coreboot.org/23245 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Chris Ching <chingcodes@chromium.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/amd/common/block/pi')
-rw-r--r--src/soc/amd/common/block/pi/heapmanager.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/soc/amd/common/block/pi/heapmanager.c b/src/soc/amd/common/block/pi/heapmanager.c
index d149e9144f..cea3171aa5 100644
--- a/src/soc/amd/common/block/pi/heapmanager.c
+++ b/src/soc/amd/common/block/pi/heapmanager.c
@@ -159,12 +159,11 @@ AGESA_STATUS agesa_AllocateBuffer (UINT32 Func, UINTN Data, VOID *ConfigPtr)
BestFitPrevNodeOffset);
/*
- * If BestFitNode is larger than the requested buffer and
- * has room for another buffer node, fragment the node further.
+ * If BestFitNode is larger than the requested buffer,
+ * fragment the node further
*/
- if (BestFitNodePtr->BufferSize >=
- (AllocParams->BufferLength + sizeof(BIOS_BUFFER_NODE) +
- MIN_BUFFER_NODE_SIZE)) {
+ if (BestFitNodePtr->BufferSize >
+ (AllocParams->BufferLength + sizeof(BIOS_BUFFER_NODE))) {
NextFreeOffset = BestFitNodeOffset +
AllocParams->BufferLength +
sizeof(BIOS_BUFFER_NODE);