summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/diskio.c
diff options
context:
space:
mode:
Diffstat (limited to 'stmhal/diskio.c')
-rw-r--r--stmhal/diskio.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/stmhal/diskio.c b/stmhal/diskio.c
index 9cae46eb18..3b0c86d5b1 100644
--- a/stmhal/diskio.c
+++ b/stmhal/diskio.c
@@ -151,6 +151,10 @@ DRESULT disk_read (
#endif
case PD_USER:
+ if (fs_user_mount == NULL) {
+ // nothing mounted
+ return RES_ERROR;
+ }
fs_user_mount->readblocks[2] = MP_OBJ_NEW_SMALL_INT(sector);
fs_user_mount->readblocks[3] = mp_obj_new_bytearray_by_ref(count * 512, buff);
mp_call_method_n_kw(2, 0, fs_user_mount->readblocks);
@@ -190,6 +194,10 @@ DRESULT disk_write (
#endif
case PD_USER:
+ if (fs_user_mount == NULL) {
+ // nothing mounted
+ return RES_ERROR;
+ }
if (fs_user_mount->writeblocks[0] == MP_OBJ_NULL) {
// read-only block device
return RES_ERROR;
@@ -243,6 +251,10 @@ DRESULT disk_ioctl (
#endif
case PD_USER:
+ if (fs_user_mount == NULL) {
+ // nothing mounted
+ return RES_ERROR;
+ }
switch (cmd) {
case CTRL_SYNC:
if (fs_user_mount->sync[0] != MP_OBJ_NULL) {