drm: bridge: it66121: fix a resource leak in probe
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 15 May 2021 09:50:57 +0000 (12:50 +0300)
committerNeil Armstrong <narmstrong@baylibre.com>
Tue, 18 May 2021 11:16:37 +0000 (13:16 +0200)
In the original code if the "ctx = devm_kzalloc()" allocation failed
then we should have called of_node_put(ep); before returning.  It's
actually a bit easier to do the allocation first before assigning
ep = of_graph_get_endpoint_by_regs().

Fixes: 988156dc2fc9 ("drm: bridge: add it66121 driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/YJ+ZgXTFa6voZuJG@mwanda
drivers/gpu/drm/bridge/ite-it66121.c

index 6980c98..7149ed4 100644 (file)
@@ -898,14 +898,14 @@ static int it66121_probe(struct i2c_client *client,
                return -ENXIO;
        }
 
-       ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0);
-       if (!ep)
-               return -EINVAL;
-
        ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
        if (!ctx)
                return -ENOMEM;
 
+       ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0);
+       if (!ep)
+               return -EINVAL;
+
        ctx->dev = dev;
        ctx->client = client;