diff options
author | Bill Hoffa <wghoffa@us.ibm.com> | 2017-08-17 09:01:28 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-17 11:33:06 -0400 |
commit | 4a20bcf8521ff1bd73d5d44fb14235b9d22b834c (patch) | |
tree | adf05455fc4856e5c2a6dffbcde88a6daf457287 | |
parent | e8ac167fca7ba17db843fb16174b32f0f90c497d (diff) | |
download | talos-hostboot-4a20bcf8521ff1bd73d5d44fb14235b9d22b834c.tar.gz talos-hostboot-4a20bcf8521ff1bd73d5d44fb14235b9d22b834c.zip |
Sleep after SBE Quiesce in SBE Update Path
- There was a race condition introduced with
the f0a8fe8 commit in SBE that causes checkstops
during an SBE Update as the SBE wasn't fully
quiesced when it replied to the message and caused
HB to start writing to the SEEPROM before the SBE
was ready.
Change-Id: I25d79f17bb6a849825a5af72ecf33b98ced77008
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44736
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/usr/sbe/sbe_update.C | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index 54d91b024..933235877 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -55,6 +55,7 @@ #include <sbe/sbereasoncodes.H> #include <sbe/sbe_update.H> #include <initservice/initsvcreasoncodes.H> +#include <sys/time.h> #ifdef CONFIG_BMC_IPMI #include <ipmi/ipmisensor.H> @@ -2667,6 +2668,11 @@ namespace SBE { err = SBEIO::sendPsuQuiesceSbe(io_sbeState.target); + // @TODO RTC 178620 - Remove after confirming SBE fix + // Give SBE more time as there was a race condition + // in their quiesce path + nanosleep(1, 0); //Sleep for 1s + if(err) { TRACFCOMP( g_trac_sbe, ERR_MRK"updateSeepromSide() - Error " |