aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-02-28 08:30:08 +0530
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-03-04 21:36:25 +0530
commit788c9ac2b926549fa1a2807956e7a2a1ec69c335 (patch)
tree5e3568ee36a792985f5ea063ca9d48cfd65e2ee3 /include
parent0fe8ecd59fc0ce1351ef76a21055212ec3725957 (diff)
downloadskiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.zip
skiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.tar.gz
skiboot-788c9ac2b926549fa1a2807956e7a2a1ec69c335.tar.bz2
hw/bt: Introduce separate list for synchronous messages
[ Upstream commit 61978c2c54d082b6f29f492e898e59d6198cfb5f ] 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> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions