forked from Minki/linux
drm: atmel-hlcdc: Fix OF graph parsing
atmel_hlcdc_create_outputs() iterates over OF graph nodes and releases
the node (using of_node_put()) after each iteration, which is wrong
since for_each_endpoint_of_node() is already taking care of that.
Move the of_node_put() call in the error path.
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reviewed-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Fixes: 17a8e03e7e
("drm: atmel-hlcdc: rework the output code to support drm bridges")
This commit is contained in:
parent
1b7e38b92b
commit
0b1e1eb762
@ -266,9 +266,10 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev)
|
||||
if (!ret)
|
||||
ret = atmel_hlcdc_check_endpoint(dev, &ep);
|
||||
|
||||
of_node_put(ep_np);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
of_node_put(ep_np);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
for_each_endpoint_of_node(dev->dev->of_node, ep_np) {
|
||||
@ -276,9 +277,10 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev)
|
||||
if (!ret)
|
||||
ret = atmel_hlcdc_attach_endpoint(dev, &ep);
|
||||
|
||||
of_node_put(ep_np);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
of_node_put(ep_np);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user