]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mailbox: use error ret code of of_parse_phandle_with_args()
authorTudor Ambarus <tudor.ambarus@linaro.org>
Mon, 24 Feb 2025 08:27:13 +0000 (08:27 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:41:54 +0000 (14:41 +0200)
[ Upstream commit 24fdd5074b205cfb0ef4cd0751a2d03031455929 ]

In case of error, of_parse_phandle_with_args() returns -EINVAL when the
passed index is negative, or -ENOENT when the index is for an empty
phandle. The mailbox core overwrote the error return code with a less
precise -ENODEV. Use the error returned code from
of_parse_phandle_with_args().

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mailbox/mailbox.c

index ebff3baf304515df2e8b0ed2435a8c37180bc24b..f13d705f7861af0b34eef7697a203bfd8efb41c4 100644 (file)
@@ -415,11 +415,12 @@ struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
 
        mutex_lock(&con_mutex);
 
-       if (of_parse_phandle_with_args(dev->of_node, "mboxes",
-                                      "#mbox-cells", index, &spec)) {
+       ret = of_parse_phandle_with_args(dev->of_node, "mboxes", "#mbox-cells",
+                                        index, &spec);
+       if (ret) {
                dev_dbg(dev, "%s: can't parse \"mboxes\" property\n", __func__);
                mutex_unlock(&con_mutex);
-               return ERR_PTR(-ENODEV);
+               return ERR_PTR(ret);
        }
 
        chan = ERR_PTR(-EPROBE_DEFER);