summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2019-05-18 11:59:43 -0600
committerSimon Glass <[email protected]>2019-07-10 16:52:58 -0600
commit9072326a6ab47ad87a0be46f4d8619b60c2d8515 (patch)
tree1348c3c4ebab074d4f0e5ca85a3ef852a02721ce
parent87dac6b0749961032185833b760e1c31fa73c64c (diff)
sandbox: Exit when SYSRESET_POWER_OFF is requested
At present this returns but it seems better to just exit sandbox immediately. Signed-off-by: Simon Glass <[email protected]> reset
-rw-r--r--arch/sandbox/cpu/state.c1
-rw-r--r--drivers/sysreset/sysreset_sandbox.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/state.c b/arch/sandbox/cpu/state.c
index d3b9c059859..2333240fda8 100644
--- a/arch/sandbox/cpu/state.c
+++ b/arch/sandbox/cpu/state.c
@@ -356,6 +356,7 @@ void state_reset_for_test(struct sandbox_state *state)
/* No reset yet, so mark it as such. Always allow power reset */
state->last_sysreset = SYSRESET_COUNT;
state->sysreset_allowed[SYSRESET_POWER] = true;
+ state->sysreset_allowed[SYSRESET_POWER_OFF] = true;
memset(&state->wdt, '\0', sizeof(state->wdt));
memset(state->spi, '\0', sizeof(state->spi));
diff --git a/drivers/sysreset/sysreset_sandbox.c b/drivers/sysreset/sysreset_sandbox.c
index 38e2a7e241d..7dfd89460f0 100644
--- a/drivers/sysreset/sysreset_sandbox.c
+++ b/drivers/sysreset/sysreset_sandbox.c
@@ -66,6 +66,7 @@ static int sandbox_sysreset_request(struct udevice *dev, enum sysreset_t type)
case SYSRESET_POWER_OFF:
if (!state->sysreset_allowed[type])
return -EACCES;
+ sandbox_exit();
default:
return -ENOSYS;
}