From dcc053c6cb4afbd10b3c4b6133723d2205343da3 Mon Sep 17 00:00:00 2001 From: Julien Cretin Date: Fri, 4 Mar 2022 12:18:10 +0100 Subject: [PATCH] Fix lock in Tock when error is EALREADY --- src/env/tock/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/env/tock/mod.rs b/src/env/tock/mod.rs index 2c9e5f1..9d27f56 100644 --- a/src/env/tock/mod.rs +++ b/src/env/tock/mod.rs @@ -65,7 +65,14 @@ impl UserPresence for TockEnv { impl FirmwareProtection for TockEnv { fn lock(&mut self) -> bool { - crp::set_protection(crp::ProtectionLevel::FullyLocked).is_ok() + matches!( + crp::set_protection(crp::ProtectionLevel::FullyLocked), + Ok(()) + | Err(TockError::Command(CommandError { + return_code: EALREADY, + .. + })) + ) } }