mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
drm/sun4i: Drop node references while building component list
Two references are leaked every time the display pipeline is walked: the output port node in sun4i_drv_traverse_endpoints(), which was never released since the driver was introduced, and each node taken out of the endpoint fifo in sun4i_drv_probe(), which stopped being released when the fifo was introduced. The latter is still safe to drop right after processing, since drm_of_component_match_add() takes its own reference. Fixes:9026e0d122("drm: Add Allwinner A10 Display Engine support") Fixes:8b11aaface("drm/sun4i: Implement endpoint parsing using kfifo") Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com> Acked-by: Chen-Yu Tsai <wens@kernel.org> Link: https://patch.msgid.link/759c74e3a22b97ca066ef7910ca4b91b852011e6.1785772659.git.jernej.skrabec@gmail.com Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
This commit is contained in:
parent
d2a242e568
commit
08a91f2a06
|
|
@ -289,6 +289,8 @@ static void sun4i_drv_traverse_endpoints(struct endpoint_list *list,
|
|||
|
||||
kfifo_put(&list->fifo, remote);
|
||||
}
|
||||
|
||||
of_node_put(port);
|
||||
}
|
||||
|
||||
static int sun4i_drv_add_endpoints(struct device *dev,
|
||||
|
|
@ -394,6 +396,7 @@ static int sun4i_drv_probe(struct platform_device *pdev)
|
|||
/* process this endpoint */
|
||||
ret = sun4i_drv_add_endpoints(&pdev->dev, &list, &match,
|
||||
endpoint);
|
||||
of_node_put(endpoint);
|
||||
|
||||
/* sun4i_drv_add_endpoints can fail to allocate memory */
|
||||
if (ret < 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user