Skip to content

Commit 2bd9b43

Browse files
committed
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 c12fc45 ("rpmsg: smd: Create device for all channels") Reported-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Bjorn Andersson <[email protected]>
1 parent 29fc9b3 commit 2bd9b43

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/rpmsg/qcom_smd.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,6 +1235,11 @@ static void qcom_channel_state_worker(struct work_struct *work)
12351235
if (channel->state != SMD_CHANNEL_CLOSED)
12361236
continue;
12371237

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+
12381243
if (channel->registered)
12391244
continue;
12401245

0 commit comments

Comments
 (0)