From 8c8f46219759d293b69d08698583302850eba5ba Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Thu, 1 Jul 2021 10:30:05 +0800 Subject: [PATCH] drm/rockchip: driver: fix sub_dev pointer error the sub_dev will be update by list_for_each_entry() and return !NULL error pointer when no found subdev; Signed-off-by: Sandy Huang Change-Id: I8d7db3b66c6c57b986a42cac9ed6eca53b72611e --- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index f68fabe498ab..87773a715f3c 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -122,15 +122,18 @@ EXPORT_SYMBOL(rockchip_drm_unregister_sub_dev); struct rockchip_drm_sub_dev *rockchip_drm_get_sub_dev(struct device_node *node) { struct rockchip_drm_sub_dev *sub_dev = NULL; + bool found = false; mutex_lock(&rockchip_drm_sub_dev_lock); list_for_each_entry(sub_dev, &rockchip_drm_sub_dev_list, list) { - if (sub_dev->of_node == node) + if (sub_dev->of_node == node) { + found = true; break; + } } mutex_unlock(&rockchip_drm_sub_dev_lock); - return sub_dev; + return found ? sub_dev : NULL; } EXPORT_SYMBOL(rockchip_drm_get_sub_dev);