From e2a581556c65d4bf6fbffa45286ff797e2fe8ca3 Mon Sep 17 00:00:00 2001 From: Kristofer Jonsson Date: Tue, 28 Jun 2022 14:09:19 +0200 Subject: Bug fix for queue capacity calculation Reduce queue capacity by one byte, else it will not be possible to distinguish between an empty and full queue. Change-Id: Ia243a7175833826dc816d536cc79ac5a252f3e3a --- kernel/ethosu_mailbox.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/ethosu_mailbox.c b/kernel/ethosu_mailbox.c index 014ceb8..b5cde0d 100644 --- a/kernel/ethosu_mailbox.c +++ b/kernel/ethosu_mailbox.c @@ -105,7 +105,8 @@ static size_t ethosu_queue_available(struct ethosu_core_queue *queue) static size_t ethosu_queue_capacity(struct ethosu_core_queue *queue) { - return queue->header.size - ethosu_queue_available(queue); + return max_t(ssize_t, + queue->header.size - ethosu_queue_available(queue) - 1, 0); } static int ethosu_queue_write(struct ethosu_mailbox *mbox, -- cgit v1.2.1