From f8cb6e81eae24a2e2ddd5249a4cce4cfb1a9b52a Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 6 Aug 2015 13:01:28 +0000 Subject: Fixed bug #627. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8171 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/lwip_bindings/arch/sys_arch.c | 34 +++++++++++++++++--------------- readme.txt | 4 +++- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/os/various/lwip_bindings/arch/sys_arch.c b/os/various/lwip_bindings/arch/sys_arch.c index 835d6f5c5..c2b72b72a 100644 --- a/os/various/lwip_bindings/arch/sys_arch.c +++ b/os/various/lwip_bindings/arch/sys_arch.c @@ -96,14 +96,15 @@ void sys_sem_signal_S(sys_sem_t *sem) { chSemSignalI(*sem); chSchRescheduleS(); -} - -u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) { - systime_t time, tmo; - - osalSysLock(); - tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE; - time = osalOsGetSystemTimeX(); +} + +u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) { + systime_t tmo; + u32_t time; + + osalSysLock(); + tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE; + time = (u32_t)osalOsGetSystemTimeX(); if (chSemWaitTimeoutS(*sem, tmo) != MSG_OK) time = SYS_ARCH_TIMEOUT; else @@ -167,14 +168,15 @@ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg) { return ERR_MEM; } return ERR_OK; -} - -u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) { - systime_t time, tmo; - - osalSysLock(); - tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE; - time = osalOsGetSystemTimeX(); +} + +u32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout) { + u32_t time; + systime_t tmo; + + osalSysLock(); + tmo = timeout > 0 ? (systime_t)timeout : TIME_INFINITE; + time = (u32_t)osalOsGetSystemTimeX(); if (chMBFetchS(*mbox, (msg_t *)msg, tmo) != MSG_OK) time = SYS_ARCH_TIMEOUT; else diff --git a/readme.txt b/readme.txt index 572b5d12f..793b54598 100644 --- a/readme.txt +++ b/readme.txt @@ -93,11 +93,13 @@ - HAL: Introduced support for TIM21 and TIM22 in STM32 ST driver. - HAL: Updated STM32F0xx headers to STM32CubeF0 version 1.3.0. Added support for STM32F030xC, STM32F070x6, STM32F070xB devices. +- VAR: Fixed lwIP arch code breaks with a 16-bit systick timer (bug #627) + (backported to 3.0.1). +- HAL: Fixed broken MAC driver for STM32F107 (bug #626)(backported to 3.0.1). - NIL: Fixed missing configuration options from NIL and RT PPC ports (bug #625). - RT: Fixed missing configuration options from NIL and RT PPC ports (bug #625). -- HAL: Fixed broken MAC driver for STM32F107 (bug #626)(backported to 3.0.1). - HAL: Fixed wrong offset in STM32 DAC driver (bug #624)(backported to 3.0.1). - HAL: Fixed crash on STM32F030x4/6 devices (bug #623)(backported to 3.0.1). - HAL: Fixed duplicated doxygen tag in STM32F4xx hal_lld.h file (bug #621) -- cgit v1.2.3