mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-16 15:26:10 +07:00
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
@ -102,10 +102,10 @@ int tegra_output_probe(struct tegra_output *output)
|
||||
panel = of_parse_phandle(output->of_node, "nvidia,panel", 0);
|
||||
if (panel) {
|
||||
output->panel = of_drm_find_panel(panel);
|
||||
of_node_put(panel);
|
||||
|
||||
if (IS_ERR(output->panel))
|
||||
return PTR_ERR(output->panel);
|
||||
|
||||
of_node_put(panel);
|
||||
}
|
||||
|
||||
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);
|
||||
if (ddc) {
|
||||
output->ddc = of_get_i2c_adapter_by_node(ddc);
|
||||
of_node_put(ddc);
|
||||
|
||||
if (!output->ddc) {
|
||||
err = -EPROBE_DEFER;
|
||||
of_node_put(ddc);
|
||||
return err;
|
||||
}
|
||||
|
||||
of_node_put(ddc);
|
||||
}
|
||||
|
||||
output->hpd_gpio = devm_gpiod_get_from_of_node(output->dev,
|
||||
|
Loading…
Reference in New Issue
Block a user