summaryrefslogtreecommitdiffstats
path: root/src/usr/intr
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/usr/intr
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/usr/intr')
-rw-r--r--src/usr/intr/intrrp.C24
1 files changed, 14 insertions, 10 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
OpenPOWER on IntegriCloud