Message ID | 20241102092525.2389952-1-quzicheng@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | iio: Fix fwnode_handle in __fwnode_iio_channel_get_by_name() | expand |
On Sat, 2 Nov 2024 09:25:25 +0000 Zicheng Qu <quzicheng@huawei.com> wrote: > 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> Hi Zicheng, Good catch. I briefly wondered if this was unused code. It is used, just not that much and it seems not on boards anyone is testing. arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts Anyhow, fix looks good to me. Applied to the fixes-togreg branch of iio.git and marked for stable. Thanks, Jonathan > --- > drivers/iio/inkern.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c > index 151099be2863..3305ebbdbc07 100644 > --- a/drivers/iio/inkern.c > +++ b/drivers/iio/inkern.c > @@ -269,7 +269,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;
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index 151099be2863..3305ebbdbc07 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c @@ -269,7 +269,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;
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> --- drivers/iio/inkern.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)