From 2cda7fc418adc2312ab2fa3c8edf5c8cf4b403d5 Mon Sep 17 00:00:00 2001 From: bunnie Date: Wed, 15 Mar 2023 02:26:56 +0800 Subject: [PATCH] give the EC some time to boot before querying its version --- services/com/src/main.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/com/src/main.rs b/services/com/src/main.rs index 1e8f65677..dabc469bf 100644 --- a/services/com/src/main.rs +++ b/services/com/src/main.rs @@ -395,6 +395,7 @@ fn main() -> ! { const FLASH_TIMEOUT: u32 = 250; // initial seed of the COM trng + ticktimer.sleep_ms(100).unwrap(); // some time for the EC to catch up during boot let trng = trng::Trng::new(&xns).expect("couldn't connect to TRNG"); com.txrx(ComState::TRNG_SEED.verb); for _ in 0..2 { @@ -406,11 +407,12 @@ fn main() -> ! { } // determine the version of the COM that we're talking to + ticktimer.sleep_ms(100).unwrap(); // some time for the EC to catch up during boot let mut ec_git_rev = { com.txrx(ComState::EC_GIT_REV.verb); - let rev_msb = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT)) as u16; - let rev_lsb = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT)) as u16; - let _dirty = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT)) as u8; + let rev_msb = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT * 2)) as u16; + let rev_lsb = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT * 2)) as u16; + let _dirty = com.wait_txrx(ComState::LINK_READ.verb, Some(STD_TIMEOUT * 2)) as u8; ((rev_msb as u32) << 16) | (rev_lsb as u32) }; let mut ec_tag = {