summaryrefslogtreecommitdiffstats
path: root/drivers/rpmsg
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@linaro.org>2018-03-15 14:12:44 -0400
committerBjorn Andersson <bjorn.andersson@linaro.org>2018-03-27 15:58:16 -0400
commit2bd9b4385fd7ece4f0c64f38bea7726a810a06af (patch)
tree005ac89fd88949a0ca7d322305e0aeaef3a6aeff /drivers/rpmsg
parent29fc9b3873607d01b1ff1ae077982cf5629010af (diff)
Revert "rpmsg: smd: Create device for all channels"
In an effort to pick up channels that are in a funky state we optimistically tried to open all channels that we found, with the addition that we failed if the other side did not handshake the opening. But as we're starting the modem a second time all channels are found - in a "funky" state - and we try to open them. But the modem firmware requires the IPCRTR to be up in order to initialize. So any channels we try to open before that will fail and will not be opened again. This takes care of the regression, at the cost of reintroducing the previous behavior of handling of channels with "funky" states. Reverts commit c12fc4519f60 ("rpmsg: smd: Create device for all channels") Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/rpmsg')
-rw-r--r--drivers/rpmsg/qcom_smd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 76b1c00b4a19..b062e9d6e25f 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -1235,6 +1235,11 @@ static void qcom_channel_state_worker(struct work_struct *work)
1235 if (channel->state != SMD_CHANNEL_CLOSED) 1235 if (channel->state != SMD_CHANNEL_CLOSED)
1236 continue; 1236 continue;
1237 1237
1238 remote_state = GET_RX_CHANNEL_INFO(channel, state);
1239 if (remote_state != SMD_CHANNEL_OPENING &&
1240 remote_state != SMD_CHANNEL_OPENED)
1241 continue;
1242
1238 if (channel->registered) 1243 if (channel->registered)
1239 continue; 1244 continue;
1240 1245