drivers/rpmsg/qcom_smd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
mbox_request_channel() returning value was changed in case of error.
It uses returning value of of_parse_phandle_with_args().
It is returning with -ENOENT instead of -ENODEV when no mboxes property
exists.
Fixes: 24fdd5074b20 ("mailbox: use error ret code of of_parse_phandle_with_args()")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Tested-by: Stephan Gerhold <stephan.gerhold@linaro.org> # msm8939
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
mbox_request_channel() returning value was changed in case of error.
It uses returning value of of_parse_phandle_with_args().
It is returning with -ENOENT instead of -ENODEV when no mboxes property
exists.
ENODEV was checked before fallback to parse qcom,ipc property.
---
Changes in v2:
- Drop already applied patch.
- qcom_smd: rebase
- Link to v1: https://lore.kernel.org/r/20250421-fix-qcom-smd-v1-0-574d071d3f27@mainlining.org
---
drivers/rpmsg/qcom_smd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
index f0f12e7ad2a61922723c16e45738e93bd432c6c6..42594f5ee4385c0071c91d9a5a05fb8517c82bc0 100644
--- a/drivers/rpmsg/qcom_smd.c
+++ b/drivers/rpmsg/qcom_smd.c
@@ -1368,7 +1368,7 @@ static int qcom_smd_parse_edge(struct device *dev,
edge->mbox_client.knows_txdone = true;
edge->mbox_chan = mbox_request_channel(&edge->mbox_client, 0);
if (IS_ERR(edge->mbox_chan)) {
- if (PTR_ERR(edge->mbox_chan) != -ENODEV) {
+ if (PTR_ERR(edge->mbox_chan) != -ENOENT) {
ret = dev_err_probe(dev, PTR_ERR(edge->mbox_chan),
"failed to acquire IPC mailbox\n");
goto put_node;
---
base-commit: d7af19298454ed155f5cf67201a70f5cf836c842
change-id: 20250421-fix-qcom-smd-76f7c414a11a
Best regards,
--
Barnabás Czémán <barnabas.czeman@mainlining.org>
Should i resend/reword the commit? This change is important for SoCs like 8917 what are still using qcom,ipc (because of cycling dependency) in the rpm,smd node.
On 31 August 2025 00:39:43 CEST, "Barnabás Czémán" <barnabas.czeman@mainlining.org> wrote:
>mbox_request_channel() returning value was changed in case of error.
>It uses returning value of of_parse_phandle_with_args().
>It is returning with -ENOENT instead of -ENODEV when no mboxes property
>exists.
>
>Fixes: 24fdd5074b20 ("mailbox: use error ret code of of_parse_phandle_with_args()")
>Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>Reviewed-by: Stephan Gerhold <stephan.gerhold@linaro.org>
>Tested-by: Stephan Gerhold <stephan.gerhold@linaro.org> # msm8939
>Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
>---
>mbox_request_channel() returning value was changed in case of error.
>It uses returning value of of_parse_phandle_with_args().
>It is returning with -ENOENT instead of -ENODEV when no mboxes property
>exists.
>
>ENODEV was checked before fallback to parse qcom,ipc property.
>---
>Changes in v2:
>- Drop already applied patch.
>- qcom_smd: rebase
>- Link to v1: https://lore.kernel.org/r/20250421-fix-qcom-smd-v1-0-574d071d3f27@mainlining.org
>---
> drivers/rpmsg/qcom_smd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
>index f0f12e7ad2a61922723c16e45738e93bd432c6c6..42594f5ee4385c0071c91d9a5a05fb8517c82bc0 100644
>--- a/drivers/rpmsg/qcom_smd.c
>+++ b/drivers/rpmsg/qcom_smd.c
>@@ -1368,7 +1368,7 @@ static int qcom_smd_parse_edge(struct device *dev,
> edge->mbox_client.knows_txdone = true;
> edge->mbox_chan = mbox_request_channel(&edge->mbox_client, 0);
> if (IS_ERR(edge->mbox_chan)) {
>- if (PTR_ERR(edge->mbox_chan) != -ENODEV) {
>+ if (PTR_ERR(edge->mbox_chan) != -ENOENT) {
> ret = dev_err_probe(dev, PTR_ERR(edge->mbox_chan),
> "failed to acquire IPC mailbox\n");
> goto put_node;
>
>---
>base-commit: d7af19298454ed155f5cf67201a70f5cf836c842
>change-id: 20250421-fix-qcom-smd-76f7c414a11a
>
>Best regards,
© 2016 - 2026 Red Hat, Inc.