summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usb_update.c6
-rw-r--r--include/update_fw.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/common/usb_update.c b/common/usb_update.c
index 4d4c65d906..0c14d8dfbf 100644
--- a/common/usb_update.c
+++ b/common/usb_update.c
@@ -196,6 +196,12 @@ static int try_vendor_command(struct consumer const *consumer, size_t count)
flash_set_protect(EC_FLASH_PROTECT_RW_AT_BOOT, 0);
response = EC_RES_SUCCESS;
break;
+#ifdef CONFIG_ROLLBACK
+ case UPDATE_EXTRA_CMD_UNLOCK_ROLLBACK:
+ flash_set_protect(EC_FLASH_PROTECT_ROLLBACK_AT_BOOT, 0);
+ response = EC_RES_SUCCESS;
+ break;
+#endif
default:
response = EC_RES_INVALID_COMMAND;
}
diff --git a/include/update_fw.h b/include/update_fw.h
index 5788779cb2..a5fb27ed22 100644
--- a/include/update_fw.h
+++ b/include/update_fw.h
@@ -161,6 +161,7 @@ enum update_extra_command {
UPDATE_EXTRA_CMD_JUMP_TO_RW = 1,
UPDATE_EXTRA_CMD_STAY_IN_RO = 2,
UPDATE_EXTRA_CMD_UNLOCK_RW = 3,
+ UPDATE_EXTRA_CMD_UNLOCK_ROLLBACK = 4,
};
void fw_update_command_handler(void *body,