aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/various/fatfs_bindings/fatfs_syscall.c14
-rw-r--r--readme.txt2
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).