From 1c06e1446e46bb1053035923b5367a86ec8815cc Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 21 Jan 2016 14:27:29 +0000 Subject: Fixed bug #695. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8788 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/src/hal_buffers.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'os/hal/src/hal_buffers.c') diff --git a/os/hal/src/hal_buffers.c b/os/hal/src/hal_buffers.c index 68c30c5a4..2f4e0339c 100644 --- a/os/hal/src/hal_buffers.c +++ b/os/hal/src/hal_buffers.c @@ -365,14 +365,9 @@ size_t ibqReadTimeout(input_buffers_queue_t *ibqp, uint8_t *bp, if (ibqp->ptr == NULL) { msg_t msg; - /* TIME_IMMEDIATE is a special case, never wait.*/ - if (timeout == TIME_IMMEDIATE) { - osalSysUnlock(); - return r; - } - - /* TIME_INFINITE is handled differently, no deadline.*/ - if (timeout == TIME_INFINITE) { + /* TIME_INFINITE and TIME_IMMEDIATE are handled differently, no + deadline.*/ + if ((timeout == TIME_INFINITE) || (timeout == TIME_IMMEDIATE)) { msg = ibqGetFullBufferTimeoutS(ibqp, timeout); } else { @@ -743,14 +738,9 @@ size_t obqWriteTimeout(output_buffers_queue_t *obqp, const uint8_t *bp, if (obqp->ptr == NULL) { msg_t msg; - /* TIME_IMMEDIATE is a special case, never wait.*/ - if (timeout == TIME_IMMEDIATE) { - osalSysUnlock(); - return w; - } - - /* TIME_INFINITE is handled differently, no deadline.*/ - if (timeout == TIME_INFINITE) { + /* TIME_INFINITE and TIME_IMMEDIATE are handled differently, no + deadline.*/ + if ((timeout == TIME_INFINITE) || (timeout == TIME_IMMEDIATE)) { msg = obqGetEmptyBufferTimeoutS(obqp, timeout); } else { -- cgit v1.2.3