rpmsg: smd: allow opening rpm_requests even if already opened
authorLuca Weiss <luca@z3ntu.xyz>
Sun, 20 Feb 2022 20:18:58 +0000 (21:18 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 11 Mar 2022 20:22:58 +0000 (14:22 -0600)
On msm8953 the channel seems to be already opened when booting Linux but
we still need to open it for communication with regulators etc.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220220201909.445468-6-luca@z3ntu.xyz
drivers/rpmsg/qcom_smd.c

index 2d44156b81035d7888b847cd800c2832ac45ecab..9380eb986a535df1952a6f686e7932eaec60802b 100644 (file)
@@ -1288,9 +1288,14 @@ static void qcom_channel_state_worker(struct work_struct *work)
                if (channel->state != SMD_CHANNEL_CLOSED)
                        continue;
 
+               /*
+                * Always open rpm_requests, even when already opened which is
+                * required on some SoCs like msm8953.
+                */
                remote_state = GET_RX_CHANNEL_INFO(channel, state);
                if (remote_state != SMD_CHANNEL_OPENING &&
-                   remote_state != SMD_CHANNEL_OPENED)
+                   remote_state != SMD_CHANNEL_OPENED &&
+                   strcmp(channel->name, "rpm_requests"))
                        continue;
 
                if (channel->registered)