soc: qcom: smd: Reset rx tail rather than tx
authorBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 26 Aug 2016 21:59:17 +0000 (14:59 -0700)
committerAndy Gross <andy.gross@linaro.org>
Thu, 1 Sep 2016 19:19:50 +0000 (14:19 -0500)
The local end of each SMD channel is responsible for updating the tx
head and the rx tail, as such we should not touch the tx tail during a
reset.

Reported-by: Jeremy McNicoll <jmcnicol@redhat.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
drivers/soc/qcom/smd.c

index f20816bef1b5808d28506a18b8c7a91151e780b9..322034ab9d374b30c38ce7e8f5ede220578cc440 100644 (file)
@@ -363,7 +363,7 @@ static void qcom_smd_channel_reset(struct qcom_smd_channel *channel)
        SET_TX_CHANNEL_FLAG(channel, fSTATE, 1);
        SET_TX_CHANNEL_FLAG(channel, fBLOCKREADINTR, 1);
        SET_TX_CHANNEL_INFO(channel, head, 0);
-       SET_TX_CHANNEL_INFO(channel, tail, 0);
+       SET_RX_CHANNEL_INFO(channel, tail, 0);
 
        qcom_smd_signal_channel(channel);