pkg/spiffs: init MTD device before accessing it's parameters
The parameters of the MTD device (`sector_count`, `page_size`) are only known after the device has been initialized. Init the device before using it to avoid reading all 0 on e.g. SD cards.
This commit is contained in:
parent
891a05dca6
commit
348b45f600
@ -129,6 +129,12 @@ static int prepare(spiffs_desc_t *fs_desc)
|
|||||||
mtd_dev_t *dev = SPIFFS_MTD_DEV;
|
mtd_dev_t *dev = SPIFFS_MTD_DEV;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int res = mtd_init(dev);
|
||||||
|
|
||||||
|
if (res) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
fs_desc->config.hal_read_f = _dev_read;
|
fs_desc->config.hal_read_f = _dev_read;
|
||||||
fs_desc->config.hal_write_f = _dev_write;
|
fs_desc->config.hal_write_f = _dev_write;
|
||||||
fs_desc->config.hal_erase_f = _dev_erase;
|
fs_desc->config.hal_erase_f = _dev_erase;
|
||||||
@ -149,7 +155,7 @@ static int prepare(spiffs_desc_t *fs_desc)
|
|||||||
fs_desc->config.phys_erase_block = dev->page_size * dev->pages_per_sector;
|
fs_desc->config.phys_erase_block = dev->page_size * dev->pages_per_sector;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return mtd_init(dev);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _format(vfs_mount_t *mountp)
|
static int _format(vfs_mount_t *mountp)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user