gpio: aggregator: Fix error code in gpio_aggregator_activate()
authorDan Carpenter <dan.carpenter@linaro.org>
Sat, 12 Apr 2025 10:15:25 +0000 (13:15 +0300)
committerBartosz Golaszewski <brgl@bgdev.pl>
Mon, 14 Apr 2025 20:25:20 +0000 (22:25 +0200)
Propagate the error code if gpio_aggregator_make_device_sw_node() fails.
Don't return success.

Fixes: 86f162e73d2d ("gpio: aggregator: introduce basic configfs interface")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Koichiro Den <koichiro.den@canonical.com>
Link: https://lore.kernel.org/r/79b804a0769a434698616bebedacc0e5d5605fdc.1744452787.git.dan.carpenter@linaro.org
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-aggregator.c

index 62bb50af7cdaa97e50f568d4ca28956d5f3af5af..071d76dbfcecd122d40014496e3f3bf8fe8d85b5 100644 (file)
@@ -626,8 +626,10 @@ static int gpio_aggregator_activate(struct gpio_aggregator *aggr)
                return -ENOMEM;
 
        swnode = gpio_aggregator_make_device_sw_node(aggr);
-       if (IS_ERR(swnode))
+       if (IS_ERR(swnode)) {
+               ret = PTR_ERR(swnode);
                goto err_remove_lookups;
+       }
 
        memset(&pdevinfo, 0, sizeof(pdevinfo));
        pdevinfo.name = DRV_NAME;