summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/ipmi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/ipmi.c b/core/ipmi.c
index 2bf3f4da..78b410fd 100644
--- a/core/ipmi.c
+++ b/core/ipmi.c
@@ -182,8 +182,16 @@ void ipmi_queue_msg_sync(struct ipmi_msg *msg)
ipmi_queue_msg_head(msg);
unlock(&sync_lock);
- while (sync_msg == msg)
+ /*
+ * BT response handling relies on a timer. Run timers once in
+ * a while.
+ *
+ * TODO (clg): implement a timeout for IPMI synchronous messages
+ */
+ while (sync_msg == msg) {
+ check_timers(0);
time_wait_ms(10);
+ }
}
static void ipmi_read_event_complete(struct ipmi_msg *msg)
OpenPOWER on IntegriCloud