]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/bridge: imx8qxp-pxl2dpi: avoid ERR_PTR with device_node cleanup
authorGuangshuo Li <lgs201920130244@gmail.com>
Thu, 7 May 2026 10:06:03 +0000 (18:06 +0800)
committerLiu Ying <victor.liu@nxp.com>
Tue, 12 May 2026 02:13:19 +0000 (10:13 +0800)
commit53597deca0e38c30e6cd4ba2114fa42d2bcd85bb
tree8d78d5da870f698e5af534cb1c502db1e2397bc8
parentb2ed01e7ad3de80333e9b962a44024b094bc0b2b
drm/bridge: imx8qxp-pxl2dpi: avoid ERR_PTR with device_node cleanup

imx8qxp_pxl2dpi_get_available_ep_from_port() returns ERR_PTR()
on errors. imx8qxp_pxl2dpi_find_next_bridge() stores its return
value in a __free(device_node) variable before checking IS_ERR().
When the function returns on the error path, the cleanup action calls
of_node_put() on the ERR_PTR() value.

Do not let a device_node cleanup variable hold error pointers. Change
imx8qxp_pxl2dpi_get_available_ep_from_port() to return an int and pass
the endpoint node through an output argument. Initialize the output
argument to NULL so callers hold either NULL on error paths or a valid
device_node pointer on successful path.

Fixes: ceea3f7806a10 ("drm/bridge: imx8qxp-pxl2dpi: simplify put of device_node pointers")
Cc: stable@vger.kernel.org
Reviewed-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Link: https://patch.msgid.link/20260507100604.667731-1-lgs201920130244@gmail.com
Signed-off-by: Liu Ying <victor.liu@nxp.com>
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c