[PATCH RESEND v2] rpmsg: qcom_smd: Fix fallback to qcom,ipc parse

Barnabás Czémán posted 1 patch 1 month ago
drivers/rpmsg/qcom_smd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH RESEND v2] rpmsg: qcom_smd: Fix fallback to qcom,ipc parse
Posted by Barnabás Czémán 1 month ago
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>

Re: [PATCH RESEND v2] rpmsg: qcom_smd: Fix fallback to qcom,ipc parse
Posted by Barnabás Czémán 3 weeks, 3 days ago
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,