summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2013-05-23 12:35:18 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-28 14:31:16 -0500
commit2c579fab1f376fa26f52e8c423856e5b28a09cd5 (patch)
tree2f9a494dc611e1f8fc30d19323501d8537c5051a
parent94908c0b4e6495155d8501e7b1bf82699b47e61b (diff)
downloadtalos-hostboot-2c579fab1f376fa26f52e8c423856e5b28a09cd5.tar.gz
talos-hostboot-2c579fab1f376fa26f52e8c423856e5b28a09cd5.zip
Fix deadlock in mbox/ipc queue registration with HB interrupt service provider
CQ: SW205543 Change-Id: I1eef2f63e2b63528f20bbaa3482049e95f09d6ee Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4686 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/usr/mbox/mailboxsp.C7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/usr/mbox/mailboxsp.C b/src/usr/mbox/mailboxsp.C
index aad84b043..3add7caf9 100644
--- a/src/usr/mbox/mailboxsp.C
+++ b/src/usr/mbox/mailboxsp.C
@@ -137,6 +137,11 @@ errlHndl_t MailboxSp::_init()
spless = false;
}
+ // create task before registering the msgQ so any waiting interrupts get
+ // handled as soon as the msgQ is registered with the interrupt service
+ // provider
+ task_create(MailboxSp::msg_handler, NULL);
+
if(!spless)
{
// Initialize the mailbox hardware
@@ -161,8 +166,6 @@ errlHndl_t MailboxSp::_init()
MSG_IPC,
INTR::ISN_INTERPROC);
- task_create(MailboxSp::msg_handler, NULL);
-
if(!spless)
{
OpenPOWER on IntegriCloud