staging: media: tegra-video: slightly simplify cleanup on errors
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Tue, 18 Apr 2023 08:00:41 +0000 (10:00 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 25 May 2023 11:04:47 +0000 (13:04 +0200)
of_node_put(node) does nothing if node == NULL, so it can be moved to the
cleanup section at the bottom.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/staging/media/tegra-video/vi.c

index be27a93..8deeeee 100644 (file)
@@ -1354,7 +1354,7 @@ static int tegra_vi_channels_alloc(struct tegra_vi *vi)
        struct device_node *node = vi->dev->of_node;
        struct device_node *ep = NULL;
        struct device_node *ports;
-       struct device_node *port;
+       struct device_node *port = NULL;
        unsigned int port_num;
        struct device_node *parent;
        struct v4l2_fwnode_endpoint v4l2_ep = { .bus_type = 0 };
@@ -1377,7 +1377,6 @@ static int tegra_vi_channels_alloc(struct tegra_vi *vi)
                        dev_err(vi->dev, "invalid port num %d for %pOF\n",
                                port_num, port);
                        ret = -EINVAL;
-                       of_node_put(port);
                        goto cleanup;
                }
 
@@ -1400,13 +1399,12 @@ static int tegra_vi_channels_alloc(struct tegra_vi *vi)
 
                lanes = v4l2_ep.bus.mipi_csi2.num_data_lanes;
                ret = tegra_vi_channel_alloc(vi, port_num, port, lanes);
-               if (ret < 0) {
-                       of_node_put(port);
+               if (ret < 0)
                        goto cleanup;
-               }
        }
 
 cleanup:
+       of_node_put(port);
        of_node_put(ports);
        return ret;
 }