[PATCH] state: don't report error for -ENOMEDIUM

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Jun 20 00:19:36 PDT 2022


Since commit 863a2251393e ("state: make first boot less verbose"),
state_load returns -ENOMEDIUM instead of -ENOENT if we detect
a first load because all buckets are zero.

This case is expected and shouldn't warrant an error message, so
adjust callers appropriately.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 commands/state.c          | 3 +++
 common/efi/payload/init.c | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/commands/state.c b/commands/state.c
index e7cb9902f71a..56ef93b19fa4 100644
--- a/commands/state.c
+++ b/commands/state.c
@@ -53,6 +53,9 @@ static int do_state(int argc, char *argv[])
 		ret = state_save(state);
 	}
 
+	if (ret == -ENOMEDIUM)
+		ret = 0;
+
 	return ret;
 }
 
diff --git a/common/efi/payload/init.c b/common/efi/payload/init.c
index e2bddabc9a42..6976285fb3c3 100644
--- a/common/efi/payload/init.c
+++ b/common/efi/payload/init.c
@@ -359,7 +359,7 @@ static int efi_late_init(void)
 			return PTR_ERR(state);
 
 		ret = state_load(state);
-		if (ret)
+		if (ret != -ENOMEDIUM)
 			pr_warn("Failed to load persistent state, continuing with defaults, %d\n",
 				ret);
 
-- 
2.30.2




More information about the barebox mailing list