aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2008-09-25 07:22:06 +0100
committerMichael Brown <mcb30@etherboot.org>2008-09-25 07:22:06 +0100
commitb45b39260ceb65aa020acfe5a3e961a19ed8489a (patch)
tree19c1a1642c28f9f77169a431ae311013317b41a5
parentc24bc349ead939d90b5784dbff3cd9fdb9d83ba8 (diff)
downloadipxe-b45b39260ceb65aa020acfe5a3e961a19ed8489a.tar.gz
[hermon] Allocate sufficient space for firmware buffer
We were accidentally allocating only half the required amount of memory (given the alignment method) for the firmware buffer, leading to conflicts between the firmware buffer and gPXE code/data segments.
-rw-r--r--src/drivers/infiniband/hermon.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c
index 439974eb..9716aba9 100644
--- a/src/drivers/infiniband/hermon.c
+++ b/src/drivers/infiniband/hermon.c
@@ -1684,7 +1684,7 @@ static int hermon_start_firmware ( struct hermon *hermon ) {
/* Allocate firmware pages and map firmware area */
fw_size = ( fw_pages * HERMON_PAGE_SIZE );
- hermon->firmware_area = umalloc ( fw_size );
+ hermon->firmware_area = umalloc ( fw_size * 2 );
if ( ! hermon->firmware_area ) {
rc = -ENOMEM;
goto err_alloc_fa;