From f67eb2c108183bc6f037c0cabb95dbd5995207ca Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 13 Feb 2011 15:52:40 +0000 Subject: [PATCH] Fixed bug 3179783. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2735 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/src/mac.c | 8 ++++++-- readme.txt | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/os/hal/src/mac.c b/os/hal/src/mac.c index 48656a8a3..9d033fe33 100644 --- a/os/hal/src/mac.c +++ b/os/hal/src/mac.c @@ -123,8 +123,10 @@ msg_t macWaitTransmitDescriptor(MACDriver *macp, (time > 0)) { chSysLock(); systime_t now = chTimeNow(); - if ((msg = chSemWaitTimeoutS(&macp->md_tdsem, time)) == RDY_TIMEOUT) + if ((msg = chSemWaitTimeoutS(&macp->md_tdsem, time)) == RDY_TIMEOUT) { + chSysUnlock(); break; + } if (time != TIME_INFINITE) time -= (chTimeNow() - now); chSysUnlock(); @@ -173,8 +175,10 @@ msg_t macWaitReceiveDescriptor(MACDriver *macp, (time > 0)) { chSysLock(); systime_t now = chTimeNow(); - if ((msg = chSemWaitTimeoutS(&macp->md_rdsem, time)) == RDY_TIMEOUT) + if ((msg = chSemWaitTimeoutS(&macp->md_rdsem, time)) == RDY_TIMEOUT) { + chSysUnlock(); break; + } if (time != TIME_INFINITE) time -= (chTimeNow() - now); chSysUnlock(); diff --git a/readme.txt b/readme.txt index b61e1d79f..659860a0e 100644 --- a/readme.txt +++ b/readme.txt @@ -69,6 +69,7 @@ ***************************************************************************** *** 2.3.0 *** +- FIX: Error in MAC driver (bug 3179783)(backported to 2.2.1). - FIX: Fixed wrong serial driver macros (bug 3173336)(backported to 2.2.1). - NEW: Added experimental generic USB driver, it will evolve in next releases.