summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2018-02-13 15:12:23 -0600
committerDean Sanner <dsanner@us.ibm.com>2018-02-14 10:00:32 -0500
commit294a73d38078f2b1ae8547f4a8622b12756dfba1 (patch)
treea47a969bf508c88f1f38f24e0b7cdbc6b656a460 /src
parent0bfdbce84ec94859d13e35b537cdbb0c3240945c (diff)
downloadtalos-hostboot-294a73d38078f2b1ae8547f4a8622b12756dfba1.tar.gz
talos-hostboot-294a73d38078f2b1ae8547f4a8622b12756dfba1.zip
Re-order INTR/IPC shutdown message handling
- The mbox msg_handler already subscribes to the INITSERVICE shutdown message so perform the IPC shutdown logic during that Change-Id: I2402e6ac17212051029de3474e24b8e91dce9544 CQ: SW417278 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53984 Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> 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: Dean Sanner <dsanner@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/intr/intrrp.C24
-rw-r--r--src/usr/mbox/mailboxsp.C11
2 files changed, 18 insertions, 17 deletions
diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C
index d5f00f8ef..81c4ebd93 100644
--- a/src/usr/intr/intrrp.C
+++ b/src/usr/intr/intrrp.C
@@ -1074,19 +1074,23 @@ void IntrRp::msgHandler()
TRACFCOMP(g_trac_intr,
"INTR remove registration of interrupt type = 0x%lx",
msg->data[0]);
- LSIvalue_t l_type = static_cast<LSIvalue_t>(msg->data[0]);
- LSIvalue_t l_intr_type = static_cast<LSIvalue_t>
+
+ ext_intr_t l_type = static_cast<ext_intr_t>(msg->data[0]);
+ ext_intr_t l_intr_type = static_cast<ext_intr_t>
(l_type & LSI_SOURCE_MASK);
- // Mask the interrupt source prior to unregistering
- errlHndl_t err = maskInterruptSource(l_intr_type);
- if(err)
+ if (l_type != ISN_INTERPROC)
{
- TRACFCOMP(g_trac_intr,
- "IntrRp::msgHandler MSG_INTR_UNREGISTER_MSGQ error"
- " masking interrupt type: %lx",
- l_intr_type);
- errlCommit(err,INTR_COMP_ID);
+ // Mask the interrupt source prior to unregistering
+ errlHndl_t err = maskInterruptSource(l_intr_type);
+ if(err)
+ {
+ TRACFCOMP(g_trac_intr,
+ "IntrRp::msgHandler MSG_INTR_UNREGISTER_MSGQ"
+ " error masking interrupt type: %lx",
+ l_intr_type);
+ errlCommit(err,INTR_COMP_ID);
+ }
}
// Unregister for this source and return rc in response
diff --git a/src/usr/mbox/mailboxsp.C b/src/usr/mbox/mailboxsp.C
index b2d8d3bc9..09ec697d4 100644
--- a/src/usr/mbox/mailboxsp.C
+++ b/src/usr/mbox/mailboxsp.C
@@ -446,12 +446,8 @@ void MailboxSp::msgHandler()
{
if (msg->data[0] == INTR::SHUT_DOWN)
{
- //Unregister for this message to prevent future
- // messages from INTRP during shut down
- msg_respond(iv_msgQ,msg);
- TRACFCOMP(g_trac_mbox,INFO_MRK
- "MSG_IPC SHUT_DOWN message received, unregistering for IPC messages");
- INTR::unRegisterMsgQ(INTR::ISN_INTERPROC);
+ TRACFCOMP(g_trac_mbox, INFO_MRK
+ "Shutdown Message sent for IPC, ignoring.");
}
else
{
@@ -1953,9 +1949,10 @@ void MailboxSp::handleShutdown()
#if (0) // @todo RTC:126643
INTR::unRegisterMsgQ(INTR::LSI_FSIMBOX);
- INTR::unRegisterMsgQ(INTR::ISN_INTERPROC);
#endif
+ INTR::unRegisterMsgQ(INTR::ISN_INTERPROC);
+
if(err) // SCOM failed.
{
// If this failed, the whole system is probably buggered up.
OpenPOWER on IntegriCloud