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: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
2340dc15f0
commit
3d2e7aec70
1 changed files with 4 additions and 4 deletions
|
@ -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)
|
||||||
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,
|
||||||
|
|
Loading…
Add table
Reference in a new issue