]> git.hungrycats.org Git - linux/commitdiff
iio: Fix fwnode_handle in __fwnode_iio_channel_get_by_name()
authorZicheng Qu <quzicheng@huawei.com>
Sat, 2 Nov 2024 09:25:25 +0000 (09:25 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2024 09:33:09 +0000 (10:33 +0100)
commit 3993ca4add248f0f853f54f9273a7de850639f33 upstream.

In the fwnode_iio_channel_get_by_name(), iterating over parent nodes to
acquire IIO channels via fwnode_for_each_parent_node(). The variable
chan was mistakenly attempted on the original node instead of the
current parent node. This patch corrects the logic to ensure that
__fwnode_iio_channel_get_by_name() is called with the correct parent
node.

Cc: stable@vger.kernel.org # v6.6+
Fixes: 1e64b9c5f9a0 ("iio: inkern: move to fwnode properties")
Signed-off-by: Zicheng Qu <quzicheng@huawei.com>
Link: https://patch.msgid.link/20241102092525.2389952-1-quzicheng@huawei.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/inkern.c

index 80e1c45485c9b017bfd4c524c4d4c91f107935ed..079e30c522bbd0c43dc7d9c0e3d8801e4bbc58f5 100644 (file)
@@ -277,7 +277,7 @@ struct iio_channel *fwnode_iio_channel_get_by_name(struct fwnode_handle *fwnode,
                        return ERR_PTR(-ENODEV);
                }
 
-               chan = __fwnode_iio_channel_get_by_name(fwnode, name);
+               chan = __fwnode_iio_channel_get_by_name(parent, name);
                if (!IS_ERR(chan) || PTR_ERR(chan) != -ENODEV) {
                        fwnode_handle_put(parent);
                        return chan;