From: Bjorn Andersson Date: Fri, 26 Aug 2016 21:59:17 +0000 (-0700) Subject: soc: qcom: smd: Reset rx tail rather than tx X-Git-Tag: v4.9-rc1~77^2~8^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e21a95d7fbc526d35d860ec34c468e04f53672f;p=thirdparty%2Fkernel%2Flinux.git soc: qcom: smd: Reset rx tail rather than tx 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 Signed-off-by: Bjorn Andersson Signed-off-by: Andy Gross --- diff --git a/drivers/soc/qcom/smd.c b/drivers/soc/qcom/smd.c index f20816bef1b58..322034ab9d374 100644 --- a/drivers/soc/qcom/smd.c +++ b/drivers/soc/qcom/smd.c @@ -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);