diff --git a/drivers/auth/auth_mod.c b/drivers/auth/auth_mod.c index c7f84afdf..917ee4a28 100644 --- a/drivers/auth/auth_mod.c +++ b/drivers/auth/auth_mod.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2021, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -242,6 +243,7 @@ static int auth_nvctr(const auth_method_param_nv_ctr_t *param, unsigned int data_len, len, i; unsigned int plat_nv_ctr; int rc = 0; + bool is_trial_run = false; /* Get the counter value from current image. The AM expects the IPM * to return the counter value as a DER encoded integer */ @@ -284,7 +286,10 @@ static int auth_nvctr(const auth_method_param_nv_ctr_t *param, /* Invalid NV-counter */ return 1; } else if (*cert_nv_ctr > plat_nv_ctr) { - *need_nv_ctr_upgrade = true; +#if PSA_FWU_SUPPORT && IMAGE_BL2 + is_trial_run = fwu_is_trial_run_state(); +#endif /* PSA_FWU_SUPPORT && IMAGE_BL2 */ + *need_nv_ctr_upgrade = !is_trial_run; } return 0;