diff --git a/subsys/settings/src/settings_file.c b/subsys/settings/src/settings_file.c index 03573bd3f83..6661fb78e04 100644 --- a/subsys/settings/src/settings_file.c +++ b/subsys/settings/src/settings_file.c @@ -137,8 +137,12 @@ static int settings_file_load_priv(struct settings_store *cs, line_load_cb cb, fs_file_t_init(&file); - rc = fs_open(&file, cf->cf_name, FS_O_CREATE | FS_O_RDWR); + rc = fs_open(&file, cf->cf_name, FS_O_READ); if (rc != 0) { + if (rc == -ENOENT) { + return -ENOENT; + } + return -EINVAL; }