summaryrefslogtreecommitdiffstats
path: root/src/usr/mbox
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2018-09-10 12:10:02 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-10-01 15:37:58 -0500
commit01fcdb647ea0a6c899b9de21ed144f16dc2f2afb (patch)
tree79f83d480cb50c10f7a3bb6ea662850b5460c1ea /src/usr/mbox
parent7209f9061a3cbc8563e583d4abdcb8ffa4653ceb (diff)
downloadblackbird-hostboot-01fcdb647ea0a6c899b9de21ed144f16dc2f2afb.tar.gz
blackbird-hostboot-01fcdb647ea0a6c899b9de21ed144f16dc2f2afb.zip
Shutdown: Move attribute sync to shutdown handler
Moved synching attributes into an attribute resource provider shutdown path to avoid race conditions along the shutdown path where a normal error path coupled with parallel shutdown leads to FSP attribute sync errors. Change-Id: Ibdb828f8132da1e251f880ef0e7d4fea2e4619a3 CQ: SW443737 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66431 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/mbox')
-rw-r--r--src/usr/mbox/mailboxsp.C14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/usr/mbox/mailboxsp.C b/src/usr/mbox/mailboxsp.C
index 618db7538..1e462dbbe 100644
--- a/src/usr/mbox/mailboxsp.C
+++ b/src/usr/mbox/mailboxsp.C
@@ -52,6 +52,7 @@
#include <sbeio/sbeioif.H>
#include <sys/time.h>
#include <intr/interrupt.H>
+#include <targeting/attrrp.H>
// Local functions
namespace MBOX
@@ -222,8 +223,17 @@ errlHndl_t MailboxSp::_init()
#ifndef CONFIG_VPO_COMPILE
// Start the the interprocessor communications message handler
IPC::IpcSp::init(err);
- // call ErrlManager function - tell him that MBOX is ready!
- ERRORLOG::ErrlManager::errlResourceReady(ERRORLOG::MBOX);
+
+ // On error VFS won't initialize the mailbox address space, opening up
+ // the chance of downstream task crashes later.
+ if(!err)
+ {
+ // call ErrlManager function - tell him that MBOX is ready!
+ ERRORLOG::ErrlManager::errlResourceReady(ERRORLOG::MBOX);
+ TARGETING::AttrRP::notifyResourceReady(
+ TARGETING::AttrRP::RESOURCE::MAILBOX);
+ }
+
#endif
return err;
OpenPOWER on IntegriCloud