From 2f343993616977cea20bccf20b5cd8fd4f04d5a9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 29 Sep 2012 08:15:09 +0000 Subject: [PATCH] Fixed bug 3570135. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4723 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/fatfs_bindings/fatfs_syscall.c | 14 ++++++-------- readme.txt | 2 ++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/os/various/fatfs_bindings/fatfs_syscall.c b/os/various/fatfs_bindings/fatfs_syscall.c index 09ebb1dd9..d048ca278 100644 --- a/os/various/fatfs_bindings/fatfs_syscall.c +++ b/os/various/fatfs_bindings/fatfs_syscall.c @@ -26,19 +26,18 @@ #include "ch.h" #include "ff.h" -MEMORYPOOL_DECL(fs_sem_pool, sizeof(Semaphore), chCoreAllocI); - #if _FS_REENTRANT +/*------------------------------------------------------------------------*/ +/* Static array of Synchronization Objects */ +/*------------------------------------------------------------------------*/ +static Semaphore ff_sem[_VOLUMES]; + /*------------------------------------------------------------------------*/ /* Create a Synchronization Object */ /*------------------------------------------------------------------------*/ int ff_cre_syncobj(BYTE vol, _SYNC_t *sobj) { - (void)vol; - - *sobj = chPoolAlloc(&fs_sem_pool); - if (*sobj == NULL) - return FALSE; + *sobj = &ff_sem[vol]; chSemInit(*sobj, 1); return TRUE; } @@ -49,7 +48,6 @@ int ff_cre_syncobj(BYTE vol, _SYNC_t *sobj) { int ff_del_syncobj(_SYNC_t sobj) { chSemReset(sobj, 0); - chPoolFree(&fs_sem_pool, sobj); return TRUE; } diff --git a/readme.txt b/readme.txt index 482ddc028..51ebeb21b 100644 --- a/readme.txt +++ b/readme.txt @@ -83,6 +83,8 @@ ***************************************************************************** *** 2.5.1 *** +- FIX: Fixed FatFS won't compile with _FS_REENTRANT enabled (bug 3570135) + (backported to 2.4.3). - FIX: Fixed mmc_spi.c won't compile due to misplaced declaration (bug 3570035)(backported to 2.4.3). - FIX: Fixed problem in STM32F1xx USB driver after revision 4598 (bug 3569374).