]> git.itanic.dy.fi Git - linux-stable/commitdiff
iio: adc: berlin2-adc: Add missing of_node_put() in error path
authorXiongfeng Wang <wangxiongfeng2@huawei.com>
Tue, 29 Nov 2022 02:03:16 +0000 (10:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:17 +0000 (11:28 +0100)
commit cbd3a0153cd18a2cbef6bf3cf31bb406c3fc9f55 upstream.

of_get_parent() will return a device_node pointer with refcount
incremented. We need to use of_node_put() on it when done. Add the
missing of_node_put() in the error path of berlin2_adc_probe();

Fixes: 70f1937911ca ("iio: adc: add support for Berlin")
Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Link: https://lore.kernel.org/r/20221129020316.191731-1-wangxiongfeng2@huawei.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/adc/berlin2-adc.c

index 3d2e8b4db61ae7408ad0e12b2831bdffe9a2b84e..a4e7c7eff5acf4bc0fe97411b6cf4d6c91e8852d 100644 (file)
@@ -298,8 +298,10 @@ static int berlin2_adc_probe(struct platform_device *pdev)
        int ret;
 
        indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*priv));
-       if (!indio_dev)
+       if (!indio_dev) {
+               of_node_put(parent_np);
                return -ENOMEM;
+       }
 
        priv = iio_priv(indio_dev);