diff options
Diffstat (limited to 'common/main.c')
-rw-r--r-- | common/main.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/common/main.c b/common/main.c index dff6c6a126..d517636f0e 100644 --- a/common/main.c +++ b/common/main.c @@ -162,12 +162,15 @@ test_mockable __keep int main(void) button_init(); #endif -#ifdef CONFIG_RWSIG +#if defined(CONFIG_RWSIG) && !defined(HAS_TASK_RWSIG) /* - * Check the RW firmware signature - * and eventually jump to it if it is good. + * Check the RW firmware signature and jump to it if it is good. + * + * Only the Read-Only firmware needs to do the signature check. */ - check_rw_signature(); + if (system_get_image_copy() == SYSTEM_IMAGE_RO && + rwsig_check_signature()) + rwsig_jump_now(); #endif /* |