From 6a2f114aab5ed30a5412adda44d8ce58e0df6a69 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 13 Feb 2011 15:54:51 +0000 Subject: [PATCH] Fixed bug 3179783. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_2.2.x@2736 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 2cafbcdbc..365c3c420 100644 --- a/os/hal/src/mac.c +++ b/os/hal/src/mac.c @@ -130,8 +130,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(); @@ -180,8 +182,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 5499817d1..2485d3c8d 100644 --- a/readme.txt +++ b/readme.txt @@ -69,6 +69,7 @@ ***************************************************************************** *** 2.2.1 *** +- FIX: Error in MAC driver (bug 3179783). - FIX: Fixed wrong serial driver macros (bug 3173336). *** 2.2.0 ***