summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/block/gpio/gpio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/soc/intel/common/block/gpio/gpio.c b/src/soc/intel/common/block/gpio/gpio.c
index dcec12a8f052..3c5d3f371ce8 100644
--- a/src/soc/intel/common/block/gpio/gpio.c
+++ b/src/soc/intel/common/block/gpio/gpio.c
@@ -13,6 +13,7 @@
#include <intelblocks/itss.h>
#include <intelblocks/p2sb.h>
#include <intelblocks/pcr.h>
+#include <security/vboot/vboot_common.h>
#include <soc/pci_devs.h>
#include <soc/pm.h>
#include <stdlib.h>
@@ -616,8 +617,8 @@ static int gpio_non_smm_lock_pad(const struct gpio_lock_config *pad_info)
int gpio_lock_pad(const gpio_t pad, enum gpio_lock_action lock_action)
{
- /* Skip locking GPIO PAD in early stages */
- if (ENV_ROMSTAGE_OR_BEFORE)
+ /* Skip locking GPIO PAD in early stages or in recovery mode */
+ if (ENV_ROMSTAGE_OR_BEFORE || vboot_recovery_mode_enabled())
return -1;
const struct gpio_lock_config pads = {