Searched hist:ae59f4fe3a3ceaf52a682ada2a2b54855fad2408 (Results 1 – 1 of 1) sorted by relevance
/openbmc/libmctp/ |
H A D | astlpc.c | diff 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
|