summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2017-08-17 09:01:28 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-17 11:33:06 -0400
commit4a20bcf8521ff1bd73d5d44fb14235b9d22b834c (patch)
treeadf05455fc4856e5c2a6dffbcde88a6daf457287
parente8ac167fca7ba17db843fb16174b32f0f90c497d (diff)
downloadtalos-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.C6
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 "
OpenPOWER on IntegriCloud