aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-01-23 07:56:27 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-01-23 07:56:27 +0000
commit2a444605ded34dba2f32ce62e47eae178e49babf (patch)
treefab0172de7b4d52ad869ceaa8c9cc5e9bf38c3c7
parent1c06e1446e46bb1053035923b5367a86ec8815cc (diff)
downloadChibiOS-2a444605ded34dba2f32ce62e47eae178e49babf.tar.gz
ChibiOS-2a444605ded34dba2f32ce62e47eae178e49babf.tar.bz2
ChibiOS-2a444605ded34dba2f32ce62e47eae178e49babf.zip
Fixed bug #696.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8792 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/various/lwip_bindings/arch/sys_arch.c8
-rw-r--r--readme.txt2
2 files changed, 6 insertions, 4 deletions
diff --git a/os/various/lwip_bindings/arch/sys_arch.c b/os/various/lwip_bindings/arch/sys_arch.c
index c2b72b72a..e11d65c0e 100644
--- a/os/various/lwip_bindings/arch/sys_arch.c
+++ b/os/various/lwip_bindings/arch/sys_arch.c
@@ -103,12 +103,12 @@ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) {
u32_t time;
osalSysLock();
- tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE;
+ tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
time = (u32_t)osalOsGetSystemTimeX();
if (chSemWaitTimeoutS(*sem, tmo) != MSG_OK)
time = SYS_ARCH_TIMEOUT;
else
- time = osalOsGetSystemTimeX() - time;
+ time = (u32_t)ST2MS(osalOsGetSystemTimeX()) - time;
osalSysUnlock();
return time;
}
@@ -175,12 +175,12 @@ u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) {
systime_t tmo;
osalSysLock();
- tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE;
+ tmo = timeout > 0 ? MS2ST((systime_t)timeout) : TIME_INFINITE;
time = (u32_t)osalOsGetSystemTimeX();
if (chMBFetchS(*mbox, (msg_t *)msg, tmo) != MSG_OK)
time = SYS_ARCH_TIMEOUT;
else
- time = osalOsGetSystemTimeX() - time;
+ time = (u32_t)ST2MS(osalOsGetSystemTimeX()) - time;
osalSysUnlock();
return time;
}
diff --git a/readme.txt b/readme.txt
index cd1b26abf..1332e2e00 100644
--- a/readme.txt
+++ b/readme.txt
@@ -76,6 +76,8 @@
- RT: Removed the p_msg field from the thread_t structure saving a
msg_t-sized field from the structure. Messages now use a new field
into the p_u union. Now synchronous messages are even faster.
+- VAR: Fixed missing time convesion in lwIP arch module (bug #696)
+ (backported to 3.0.5 and 16.1.2).
- HAL: Fixed incorrect handling of TIME_IMMEDIATE in the HAL buffer queues
(bug #695)(backported to 16.1.2).
- NIL: Fixed NIL_CFG_USE_EVENTS not properly checked in NIL (bug #694)