summaryrefslogtreecommitdiff
path: root/drivers/rpmsg
diff options
context:
space:
mode:
authorLuca Weiss <luca@z3ntu.xyz>2022-02-20 21:18:58 +0100
committerBjorn Andersson <bjorn.andersson@linaro.org>2022-03-11 14:22:58 -0600
commita8f8cc6b39b7ee0dbaccbebd1268c9d3458ebf13 (patch)
tree4f3070f4cdae142e1444f7af1ed46f19ffa452c8 /drivers/rpmsg
parent9d85fb73a31bb67e5b738e8732eaaebdadf665fe (diff)
downloadlwn-a8f8cc6b39b7ee0dbaccbebd1268c9d3458ebf13.tar.gz
lwn-a8f8cc6b39b7ee0dbaccbebd1268c9d3458ebf13.zip
rpmsg: smd: allow opening rpm_requests even if already opened
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
Diffstat (limited to 'drivers/rpmsg')
-rw-r--r--drivers/rpmsg/qcom_smd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index 2d44156b8103..9380eb986a53 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -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)