aboutsummaryrefslogtreecommitdiff
path: root/core/ipmi.c
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-02-28 08:30:08 +0530
committerStewart Smith <stewart@linux.ibm.com>2019-03-01 16:00:59 +1100
commit61978c2c54d082b6f29f492e898e59d6198cfb5f (patch)
tree55136319b67166785b863877b0c68c988f6de1ce /core/ipmi.c
parent4f0ceb63e951a74e2f49f8054fab17cd029a70a1 (diff)
downloadskiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.zip
skiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.tar.gz
skiboot-61978c2c54d082b6f29f492e898e59d6198cfb5f.tar.bz2
hw/bt: Introduce separate list for synchronous messages
BT send logic always sends top of bt message list to BMC. Once BMC reads the message, it clears the interrupt and bt_idle() becomes true. bt_add_ipmi_msg_head() adds message to top of the list. If bt message list is not empty then: - if bt_idle() is true then we will endup sending message to BMC before getting response from BMC for inflight message. Looks like on some BMC implementation this results in message timeout. - else we endup starting message timer without actually sending message to BMC.. which is not correct. This patch introduces separate list to track synchronous messages. bt_add_ipmi_msg_head() will add messages to tail of this new list. We will always process this queue before processing normal queue. Finally this patch introduces new variable (inflight_bt_msg) to track inflight message. This will point to current inflight message. Suggested-by: Oliver O'Halloran <oohall@gmail.com> Suggested-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core/ipmi.c')
0 files changed, 0 insertions, 0 deletions