diff --git a/pkg/littlefs/fs/littlefs_fs.c b/pkg/littlefs/fs/littlefs_fs.c index c7700614b8..570be591c0 100644 --- a/pkg/littlefs/fs/littlefs_fs.c +++ b/pkg/littlefs/fs/littlefs_fs.c @@ -124,6 +124,12 @@ static int prepare(littlefs_desc_t *fs) mutex_init(&fs->lock); mutex_lock(&fs->lock); + int ret = mtd_init(fs->dev); + + if (ret) { + return ret; + } + memset(&fs->fs, 0, sizeof(fs->fs)); if (!fs->config.block_count) { @@ -155,7 +161,7 @@ static int prepare(littlefs_desc_t *fs) fs->config.prog_buffer = fs->prog_buf; #endif - return mtd_init(fs->dev); + return 0; } static int _format(vfs_mount_t *mountp) diff --git a/pkg/littlefs2/fs/littlefs2_fs.c b/pkg/littlefs2/fs/littlefs2_fs.c index d90a910a2f..1a03be4dec 100644 --- a/pkg/littlefs2/fs/littlefs2_fs.c +++ b/pkg/littlefs2/fs/littlefs2_fs.c @@ -124,6 +124,12 @@ static int prepare(littlefs_desc_t *fs) mutex_init(&fs->lock); mutex_lock(&fs->lock); + int ret = mtd_init(fs->dev); + + if (ret) { + return ret; + } + memset(&fs->fs, 0, sizeof(fs->fs)); if (!fs->config.block_count) { @@ -161,7 +167,7 @@ static int prepare(littlefs_desc_t *fs) fs->config.prog_buffer = fs->prog_buf; #endif - return mtd_init(fs->dev); + return 0; } static int _format(vfs_mount_t *mountp) diff --git a/pkg/spiffs/fs/spiffs_fs.c b/pkg/spiffs/fs/spiffs_fs.c index 3c85e1db1b..72568741f8 100644 --- a/pkg/spiffs/fs/spiffs_fs.c +++ b/pkg/spiffs/fs/spiffs_fs.c @@ -109,6 +109,12 @@ static int prepare(spiffs_desc_t *fs_desc) mtd_dev_t *dev = SPIFFS_MTD_DEV; #endif + int res = mtd_init(dev); + + if (res) { + return res; + } + fs_desc->config.hal_read_f = _dev_read; fs_desc->config.hal_write_f = _dev_write; fs_desc->config.hal_erase_f = _dev_erase; @@ -129,7 +135,7 @@ static int prepare(spiffs_desc_t *fs_desc) fs_desc->config.phys_erase_block = dev->page_size * dev->pages_per_sector; #endif - return mtd_init(dev); + return 0; } static int _format(vfs_mount_t *mountp)