Message ID | 20200925091045.302-2-nuno.sa@analog.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] iio: ltc2983: Fix of_node refcounting | expand |
On Fri, 25 Sep 2020 11:10:45 +0200 Nuno Sá <nuno.sa@analog.com> wrote: > When returning or breaking early from a > `for_each_available_child_of_node()` loop, we need to explicitly call > `of_node_put()` on the child node to possibly release the node. > > Fixes: 506d2e317a0a0 ("iio: adc: Add driver support for AD7292") > Cc: stable@vger.kernel.org > Signed-off-by: Nuno Sá <nuno.sa@analog.com> Applied to the fixes togreg branch of iio.git. Thanks Jonathan > --- > drivers/iio/adc/ad7292.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/ad7292.c b/drivers/iio/adc/ad7292.c > index 2eafbe7ac7c7..ab204e9199e9 100644 > --- a/drivers/iio/adc/ad7292.c > +++ b/drivers/iio/adc/ad7292.c > @@ -310,8 +310,10 @@ static int ad7292_probe(struct spi_device *spi) > > for_each_available_child_of_node(spi->dev.of_node, child) { > diff_channels = of_property_read_bool(child, "diff-channels"); > - if (diff_channels) > + if (diff_channels) { > + of_node_put(child); > break; > + } > } > > if (diff_channels) {
diff --git a/drivers/iio/adc/ad7292.c b/drivers/iio/adc/ad7292.c index 2eafbe7ac7c7..ab204e9199e9 100644 --- a/drivers/iio/adc/ad7292.c +++ b/drivers/iio/adc/ad7292.c @@ -310,8 +310,10 @@ static int ad7292_probe(struct spi_device *spi) for_each_available_child_of_node(spi->dev.of_node, child) { diff_channels = of_property_read_bool(child, "diff-channels"); - if (diff_channels) + if (diff_channels) { + of_node_put(child); break; + } } if (diff_channels) {
When returning or breaking early from a `for_each_available_child_of_node()` loop, we need to explicitly call `of_node_put()` on the child node to possibly release the node. Fixes: 506d2e317a0a0 ("iio: adc: Add driver support for AD7292") Cc: stable@vger.kernel.org Signed-off-by: Nuno Sá <nuno.sa@analog.com> --- drivers/iio/adc/ad7292.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)