From: Samson Tam <samson....@amd.com>

[Why]
In cases where number of pipes available is less
 than num_opp, there will opp instances that are
 null

[How]
Add null check to skip over these opp instances

Fixes: 9e241124fe13 ("drm/amd/display: Update OPP counter from new interface")

Reviewed-by: Alvin Lee <alvin.l...@amd.com>
Acked-by: Roman Li <roman...@amd.com>
Signed-off-by: Samson Tam <samson....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index c4962cc4bb93..52e8528aedbe 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -3574,7 +3574,8 @@ static void wait_for_outstanding_hw_updates(struct dc 
*dc, const struct dc_state
                mpcc_inst = hubp->inst;
                // MPCC inst is equal to pipe index in practice
                for (opp_inst = 0; opp_inst < opp_count; opp_inst++) {
-                       if 
(dc->res_pool->opps[opp_inst]->mpcc_disconnect_pending[mpcc_inst]) {
+                       if ((dc->res_pool->opps[opp_inst] != NULL) &&
+                               
(dc->res_pool->opps[opp_inst]->mpcc_disconnect_pending[mpcc_inst])) {
                                
dc->res_pool->mpc->funcs->wait_for_idle(dc->res_pool->mpc, mpcc_inst);
                                
dc->res_pool->opps[opp_inst]->mpcc_disconnect_pending[mpcc_inst] = false;
                                break;
-- 
2.34.1

Reply via email to