rpmsg: glink: smem: Ensure ordering during tx

Ensure the ordering of the fifo write and the update of the write index,
so that the index is not updated before the data has landed in the fifo.

Acked-By: Chris Lew <clew@codeaurora.org>
Reported-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Bjorn Andersson 2017-12-14 12:15:46 -08:00
parent ed608eb0be
commit 9d32497361
1 changed files with 3 additions and 0 deletions

View File

@ -183,6 +183,9 @@ static void glink_smem_tx_write(struct qcom_glink_pipe *glink_pipe,
if (head >= pipe->native.length) if (head >= pipe->native.length)
head -= pipe->native.length; head -= pipe->native.length;
/* Ensure ordering of fifo and head update */
wmb();
*pipe->head = cpu_to_le32(head); *pipe->head = cpu_to_le32(head);
} }