From b61575bbc39c3bddb6a7a505513952a5d5c749bf Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 11 Apr 2022 15:08:10 +0200 Subject: [PATCH] Adding some mutex to improve concurrency. Signed-off-by: Pol Henarejos --- src/fs/low_flash.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index fe7ca72..4951fc6 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -153,8 +153,8 @@ int flash_program_block(uintptr_t addr, const uint8_t *data, size_t len) { } if (!(p = find_free_page(addr))) { - DEBUG_INFO("ERROR: FLASH CANNOT FIND A PAGE (rare error)\r\n"); mutex_exit(&mtx_flash); + DEBUG_INFO("ERROR: FLASH CANNOT FIND A PAGE (rare error)\r\n"); return HSM_ERR_MEMORY_FATAL; } memcpy(&p->page[addr&(FLASH_SECTOR_SIZE-1)], data, len); @@ -177,19 +177,19 @@ int flash_program_uintptr (uintptr_t addr, uintptr_t data) { uint8_t *flash_read(uintptr_t addr) { uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; - //mutex_enter_blocking(&mtx_flash); + mutex_enter_blocking(&mtx_flash); if (ready_pages > 0) { for (int r = 0; r < TOTAL_FLASH_PAGES; r++) { if (flash_pages[r].ready && flash_pages[r].address == addr_alg) { uint8_t *v = &flash_pages[r].page[addr&(FLASH_SECTOR_SIZE-1)]; - //mutex_exit(&mtx_flash); + mutex_exit(&mtx_flash); return v; } } } uint8_t *v = (uint8_t *)addr; - //mutex_exit(&mtx_flash); + mutex_exit(&mtx_flash); return v; }