Commit 3d2e7aec authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Thierry Reding

drm/tegra: output: Don't leak OF node on error

The OF node should be put before returning error in tegra_output_probe(),
otherwise node's refcount will be leaked.
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 2340dc15
...@@ -102,10 +102,10 @@ int tegra_output_probe(struct tegra_output *output) ...@@ -102,10 +102,10 @@ int tegra_output_probe(struct tegra_output *output)
panel = of_parse_phandle(output->of_node, "nvidia,panel", 0); panel = of_parse_phandle(output->of_node, "nvidia,panel", 0);
if (panel) { if (panel) {
output->panel = of_drm_find_panel(panel); output->panel = of_drm_find_panel(panel);
of_node_put(panel);
if (IS_ERR(output->panel)) if (IS_ERR(output->panel))
return PTR_ERR(output->panel); return PTR_ERR(output->panel);
of_node_put(panel);
} }
output->edid = of_get_property(output->of_node, "nvidia,edid", &size); output->edid = of_get_property(output->of_node, "nvidia,edid", &size);
...@@ -113,13 +113,13 @@ int tegra_output_probe(struct tegra_output *output) ...@@ -113,13 +113,13 @@ int tegra_output_probe(struct tegra_output *output)
ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0); ddc = of_parse_phandle(output->of_node, "nvidia,ddc-i2c-bus", 0);
if (ddc) { if (ddc) {
output->ddc = of_get_i2c_adapter_by_node(ddc); output->ddc = of_get_i2c_adapter_by_node(ddc);
of_node_put(ddc);
if (!output->ddc) { if (!output->ddc) {
err = -EPROBE_DEFER; err = -EPROBE_DEFER;
of_node_put(ddc); of_node_put(ddc);
return err; return err;
} }
of_node_put(ddc);
} }
output->hpd_gpio = devm_gpiod_get_from_of_node(output->dev, output->hpd_gpio = devm_gpiod_get_from_of_node(output->dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment