diff options
author | Gurleen Grewal <gurleengrewal@google.com> | 2019-09-12 14:49:29 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-04 20:56:42 +0000 |
commit | aac8bec160bcbb627b0b160f6177d6328c686c7c (patch) | |
tree | 91498e345bd7deff115de778948b7c31e61975b2 | |
parent | 4e65789d0666c67f8365abb9ebe01fdd8d8fde69 (diff) | |
download | chrome-ec-aac8bec160bcbb627b0b160f6177d6328c686c7c.tar.gz |
Change get_shmem_size() to max allocatable bytes
BRANCH=none
BUG=b:140066993
TEST=run "make buidall" and verify that test nvmem passed,
In cr50 console: "flashread 0 7000" should succeed
Change-Id: If3979559da5d61c27bbca7639a220fca862bbc91
Tested-by: Gurleen Grewal <gurleengrewal@google.com>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
(cherry picked from commit 4284bf8c73aa210cb997d39a14851c5505a9c90b)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1835036
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
(cherry picked from commit b514eb0ba012375c09c88e4f71a148920bd573c7)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1838874
-rw-r--r-- | common/shmalloc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/common/shmalloc.c b/common/shmalloc.c index 3ada36feaa..d00470a2fe 100644 --- a/common/shmalloc.c +++ b/common/shmalloc.c @@ -210,7 +210,7 @@ static int do_acquire(int size, struct shm_buffer **dest_ptr) pfb = free_buf_chain; while (pfb) { - if ((pfb->buffer_size > size) && + if ((pfb->buffer_size >= size) && ((pfb->buffer_size - size) < headroom)) { /* this is a new candidate. */ headroom = pfb->buffer_size - size; @@ -299,6 +299,8 @@ int shared_mem_size(void) } mutex_unlock(&shmem_lock); + /* Leave room for shmem header */ + max_available -= sizeof(struct shm_buffer); return max_available; } |