EC software sync no longer checks for shutdown requested

This means that in normal mode the system will boot all the way to the
OS before shutting down.

In developer or recovery modes, the BIOS screens will still check for
shutdown requested and shut down if so.  This is necessary in
developer mode for security reasons, and because there's no guarantee
that a dev OS will still pay attention to the lid switch.

BUG=chrome-os-partner:17521
BRANCH=spring
TEST=make runtests; unit tests pass

Change-Id: I0698b659ad0febcf73043f1e8c5b98681c1bc5ba
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/58109
This commit is contained in:
Randall Spangler
2013-06-10 12:31:00 -07:00
committed by ChromeBot
parent 534723a651
commit 19c996909d
2 changed files with 5 additions and 37 deletions

View File

@@ -609,18 +609,6 @@ VbError_t VbEcSoftwareSync(VbCommonParams *cparams)
}
VBDEBUG(("VbEcSoftwareSync() in RO-Normal; EC-RO\n"));
/*
* If shutdown is requested, just power the AP back off. This
* covers the case where the lid is closed when then system
* boots.
*/
if (VbExIsShutdownRequested()) {
VBDEBUG(("VbEcSoftwareSync() "
"sees shutdown-requested\n"));
return VBERROR_SHUTDOWN_REQUESTED;
}
return VBERROR_SUCCESS;
}
@@ -745,18 +733,6 @@ VbError_t VbEcSoftwareSync(VbCommonParams *cparams)
}
VBDEBUG(("VbEcSoftwareSync() in EC-RW and it matches\n"));
/*
* If shutdown is requested, just power the AP back off. This
* covers the case where the lid is closed when then system
* boots.
*/
if (VbExIsShutdownRequested()) {
VBDEBUG(("VbEcSoftwareSync() "
"sees shutdown-requested\n"));
return VBERROR_SHUTDOWN_REQUESTED;
}
return VBERROR_SUCCESS;
}
@@ -814,16 +790,6 @@ VbError_t VbEcSoftwareSync(VbCommonParams *cparams)
}
VBDEBUG(("VbEcSoftwareSync() in RW; done\n"));
/*
* If shutdown is requested, just power the AP back off. This covers
* the case where the lid is closed when then system boots.
*/
if (VbExIsShutdownRequested()) {
VBDEBUG(("VbEcSoftwareSync() sees shutdown-requested\n"));
return VBERROR_SHUTDOWN_REQUESTED;
}
return VBERROR_SUCCESS;
}

View File

@@ -245,10 +245,11 @@ static void VbSoftwareSyncTest(void)
test_ssync(VBERROR_SIMULATED,
VBNV_RECOVERY_EC_PROTECT, "Protect error");
/* No longer check for shutdown requested */
ResetMocks();
shared->flags |= VBSD_LF_USE_RO_NORMAL;
shutdown_request_calls_left = 0;
test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0, "AP-RO shutdown requested");
test_ssync(0, 0, "AP-RO shutdown requested");
/* Calculate hashes */
ResetMocks();
@@ -344,15 +345,16 @@ static void VbSoftwareSyncTest(void)
test_ssync(VBERROR_SIMULATED,
VBNV_RECOVERY_EC_PROTECT, "Protect error");
/* No longer check for shutdown requested */
ResetMocks();
shutdown_request_calls_left = 0;
test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0,
test_ssync(0, 0,
"AP-RW, EC-RO -> EC-RW shutdown requested");
ResetMocks();
mock_in_rw = 1;
shutdown_request_calls_left = 0;
test_ssync(VBERROR_SHUTDOWN_REQUESTED, 0, "AP-RW shutdown requested");
test_ssync(0, 0, "AP-RW shutdown requested");
}
int main(void)