diff options
author | Davide Grohmann <davide.grohmann@arm.com> | 2021-06-15 13:21:15 +0200 |
---|---|---|
committer | Davide Grohmann <davide.grohmann@arm.com> | 2021-08-12 10:13:18 +0200 |
commit | 1c26baa1e8fde9f730c0ef472187937619d32471 (patch) | |
tree | e26195476a37257a50fab617c29bc1e339e5383d | |
parent | 2cd539705ba4b510859f18e9815a72950ddd96fa (diff) | |
download | ethos-u-linux-driver-stack-1c26baa1e8fde9f730c0ef472187937619d32471.tar.gz |
Fix: do not attempt to read data from mailbox when length is 0
Also add a call to send a ping message in the inference_runner example
app.
Change-Id: Ia2b4abf5fec8285c320ec0f28df167ff2ea13d82
-rw-r--r-- | kernel/ethosu_mailbox.c | 4 | ||||
-rw-r--r-- | utils/inference_runner/inference_runner.cpp | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/kernel/ethosu_mailbox.c b/kernel/ethosu_mailbox.c index 158a7f5..7f159f3 100644 --- a/kernel/ethosu_mailbox.c +++ b/kernel/ethosu_mailbox.c @@ -128,7 +128,9 @@ static int ethosu_queue_read(struct ethosu_mailbox *mbox, uint32_t rpos = queue->header.read; size_t queue_avail = ethosu_queue_available(queue); - if (queue_avail == 0) + if (length == 0) + return 0; + else if (queue_avail == 0) return -ENOMSG; else if (length > queue_avail) return -EBADMSG; diff --git a/utils/inference_runner/inference_runner.cpp b/utils/inference_runner/inference_runner.cpp index 17969da..f2e1fa1 100644 --- a/utils/inference_runner/inference_runner.cpp +++ b/utils/inference_runner/inference_runner.cpp @@ -207,6 +207,9 @@ int main(int argc, char *argv[]) { try { Device device; + cout << "Send Ping" << endl; + device.ioctl(ETHOSU_IOCTL_PING); + cout << "Send version request" << endl; device.ioctl(ETHOSU_IOCTL_VERSION_REQ); |