]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/dpu: Add missing NULL pointer check for pingpong interface
authorNikolay Kuratov <kniv@yandex-team.ru>
Thu, 11 Dec 2025 09:36:30 +0000 (12:36 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Wed, 24 Dec 2025 09:24:19 +0000 (11:24 +0200)
It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a
single place the check is missing.
Also use convenient locals instead of phys_enc->* where available.

Cc: stable@vger.kernel.org
Fixes: d7d0e73f7de33 ("drm/msm/dpu: introduce the dpu_encoder_phys_* for writeback")
Signed-off-by: Nikolay Kuratov <kniv@yandex-team.ru>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/693860/
Link: https://lore.kernel.org/r/20251211093630.171014-1-kniv@yandex-team.ru
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c

index 46f348972a975d9b334a611718abe35bbe205ca3..6d28f2281c7657454ed804116e160d94c8d07192 100644 (file)
@@ -247,14 +247,12 @@ static void dpu_encoder_phys_wb_setup_ctl(struct dpu_encoder_phys *phys_enc)
                if (hw_cdm)
                        intf_cfg.cdm = hw_cdm->idx;
 
-               if (phys_enc->hw_pp->merge_3d && phys_enc->hw_pp->merge_3d->ops.setup_3d_mode)
-                       phys_enc->hw_pp->merge_3d->ops.setup_3d_mode(phys_enc->hw_pp->merge_3d,
-                                       mode_3d);
+               if (hw_pp && hw_pp->merge_3d && hw_pp->merge_3d->ops.setup_3d_mode)
+                       hw_pp->merge_3d->ops.setup_3d_mode(hw_pp->merge_3d, mode_3d);
 
                /* setup which pp blk will connect to this wb */
-               if (hw_pp && phys_enc->hw_wb->ops.bind_pingpong_blk)
-                       phys_enc->hw_wb->ops.bind_pingpong_blk(phys_enc->hw_wb,
-                                       phys_enc->hw_pp->idx);
+               if (hw_pp && hw_wb->ops.bind_pingpong_blk)
+                       hw_wb->ops.bind_pingpong_blk(hw_wb, hw_pp->idx);
 
                phys_enc->hw_ctl->ops.setup_intf_cfg(phys_enc->hw_ctl, &intf_cfg);
        } else if (phys_enc->hw_ctl && phys_enc->hw_ctl->ops.setup_intf_cfg) {