diff options
| author | Damien George <damien@micropython.org> | 2021-01-29 00:40:49 +1100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2021-01-29 15:02:55 +1100 |
| commit | bd7110a3d50d2bcfaa5527fdb5d7305badba1b82 (patch) | |
| tree | 65ccea1a47830161d3b9fa0a3ad9a9efe7588e66 /ports/stm32/mboot/vfs_lfs.c | |
| parent | 0efa0b54374e3ea0cbaf455c41945800479b5bc8 (diff) | |
stm32/mboot: Introduce MBOOT_ERRNO_xxx constants and use them.
So that a failed update via fsload can be more easily diagnosed.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'ports/stm32/mboot/vfs_lfs.c')
| -rw-r--r-- | ports/stm32/mboot/vfs_lfs.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ports/stm32/mboot/vfs_lfs.c b/ports/stm32/mboot/vfs_lfs.c index 3e4c9caf1..e7fd8ce63 100644 --- a/ports/stm32/mboot/vfs_lfs.c +++ b/ports/stm32/mboot/vfs_lfs.c @@ -37,6 +37,9 @@ #error Unsupported #endif +#define MBOOT_ERRNO_VFS_LFS_MOUNT_FAILED MBOOT_ERRNO_VFS_LFS1_MOUNT_FAILED +#define MBOOT_ERRNO_VFS_LFS_OPEN_FAILED MBOOT_ERRNO_VFS_LFS1_OPEN_FAILED + #define LFSx_MACRO(s) LFS1##s #define LFSx_API(x) lfs1_ ## x #define VFS_LFSx_CONTEXT_T vfs_lfs1_context_t @@ -49,6 +52,9 @@ static uint8_t lfs_lookahead_buffer[LFS_LOOKAHEAD_SIZE / 8]; #else +#define MBOOT_ERRNO_VFS_LFS_MOUNT_FAILED MBOOT_ERRNO_VFS_LFS2_MOUNT_FAILED +#define MBOOT_ERRNO_VFS_LFS_OPEN_FAILED MBOOT_ERRNO_VFS_LFS2_OPEN_FAILED + #define LFSx_MACRO(s) LFS2##s #define LFSx_API(x) lfs2_ ## x #define VFS_LFSx_CONTEXT_T vfs_lfs2_context_t @@ -116,7 +122,7 @@ int VFS_LFSx_MOUNT(VFS_LFSx_CONTEXT_T *ctx, uint32_t base_addr, uint32_t byte_le int ret = LFSx_API(mount)(&ctx->lfs, &ctx->config); if (ret < 0) { - return -1; + return -MBOOT_ERRNO_VFS_LFS_MOUNT_FAILED; } return 0; } @@ -126,7 +132,10 @@ static int vfs_lfs_stream_open(void *stream_in, const char *fname) { memset(&ctx->file, 0, sizeof(ctx->file)); memset(&ctx->filecfg, 0, sizeof(ctx->filecfg)); ctx->filecfg.buffer = &ctx->filebuf[0]; - LFSx_API(file_opencfg)(&ctx->lfs, &ctx->file, fname, LFSx_MACRO(_O_RDONLY), &ctx->filecfg); + int ret = LFSx_API(file_opencfg)(&ctx->lfs, &ctx->file, fname, LFSx_MACRO(_O_RDONLY), &ctx->filecfg); + if (ret < 0) { + return -MBOOT_ERRNO_VFS_LFS_OPEN_FAILED; + } return 0; } |
