Home
last modified time | relevance | path

Searched hist:ae59f4fe3a3ceaf52a682ada2a2b54855fad2408 (Results 1 – 1 of 1) sorted by relevance

/openbmc/libmctp/
H A Dastlpc.cdiff ae59f4fe3a3ceaf52a682ada2a2b54855fad2408 Wed Sep 01 09:54:25 CDT 2021 Christian Geddes <crgeddes@us.ibm.com> Notify remote endpoint with RX_COMPLETE prior to handling MCTP packet

This change ensures that prior to handling the contents of the
MCTP packet we get, we notify the the remote endpoint that we
have read the contents of the transmission they sent us.

Prior to this change, if the RX buffer contained a packet with the EOM
bit set, the packet is upgraded to a message and is passed to whatever
function the message_rx callback is bound to. In Hostboot's case this
causes a message to be sent to a message queue the PLDM requester
is blocked on. In some cases, we saw the PLDM requester thread get woken
up by this message, process the response, and fire off another PLDM
message, all prior to the task managing the MCTP rx waking back up to
send the RX_COMPLETE message to the KCS data register. We saw if the
TX_STARTED command for the next packet was written prior to Hostboot
writing the RX_COMPLETE from reading the last packet that, the message
that Hostboot sent would not make it to PLDM on the BMC.

Signed-off-by: Christian Geddes <crgeddes@us.ibm.com>
Change-Id: I9f3ecc0d504e22ef69999835c68a9abb033c48dd