summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-05-08 15:43:18 -0700
committerScott Shawcroft <scott@tannewt.org>2019-05-08 15:43:18 -0700
commit9feb844b7ecba9d2b9892e3f5a10691615af7f32 (patch)
treec58199a929c1b9d6853b6209cfaa7ef1c551c1bc
parentbec84f20abb716c0d8052554d841c1291ddf64cc (diff)
Fix crash in internal filesystem on nrf
Fixes #1842
-rw-r--r--ports/nrf/supervisor/internal_flash.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ports/nrf/supervisor/internal_flash.c b/ports/nrf/supervisor/internal_flash.c
index 5713dea88..dcacd4d27 100644
--- a/ports/nrf/supervisor/internal_flash.c
+++ b/ports/nrf/supervisor/internal_flash.c
@@ -97,7 +97,9 @@ mp_uint_t supervisor_flash_write_blocks(const uint8_t *src, uint32_t lba, uint32
count = MIN(num_blocks, count);
if (page_addr != _flash_page_addr) {
- nrf_nvm_safe_flash_page_write(_flash_page_addr, _flash_cache);
+ // Write out anything in cache before overwriting it.
+ supervisor_flash_flush();
+
_flash_page_addr = page_addr;
// Copy the current contents of the entire page into the cache.