From 802b5e31ebb19c87bf0c1dfa2437134db1806ef7 Mon Sep 17 00:00:00 2001 From: Abhijit Kulkarni Date: Thu, 30 Apr 2020 20:49:58 -0700 Subject: [PATCH] disp: msm: fix probe deferral logic msm_drv should be probe deferred until rsc driver probe is done. OF_POPULATED flag only checks if platform driver is registered and hence additional condition to check if driver is attached to this device, is needed. Change-Id: I070965cc8d3ba3984032ad3704ec86066680eef0 Signed-off-by: Abhijit Kulkarni --- msm/msm_drv.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/msm/msm_drv.c b/msm/msm_drv.c index 653a047738..91bc4f5dde 100644 --- a/msm/msm_drv.c +++ b/msm/msm_drv.c @@ -1951,10 +1951,17 @@ static int msm_drm_component_dependency_check(struct device *dev) break; if (of_node_name_eq(node,"qcom,sde_rscc") && - of_device_is_available(node) && - !of_node_check_flag(node, OF_POPULATED)) { - dev_err(dev, "qcom,sde_rscc device not probed yet\n"); - return -EPROBE_DEFER; + of_device_is_available(node) && + of_node_check_flag(node, OF_POPULATED)) { + struct platform_device *pdev = + of_find_device_by_node(node); + if (!platform_get_drvdata(pdev)) { + dev_err(dev, + "qcom,sde_rscc not probed yet\n"); + return -EPROBE_DEFER; + } else { + return 0; + } } }