drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during...
authorVinod Polimera <quic_vpolimer@quicinc.com>
Mon, 25 Apr 2022 03:26:53 +0000 (08:56 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:22:52 +0000 (10:22 +0200)
[ Upstream commit fa5186b279ecf44b14fb435540d2065be91cb1ed ]

BUG: Unable to handle kernel paging request at virtual address 006b6b6b6b6b6be3

Call trace:
  dpu_vbif_init_memtypes+0x40/0xb8
  dpu_runtime_resume+0xcc/0x1c0
  pm_generic_runtime_resume+0x30/0x44
  __genpd_runtime_resume+0x68/0x7c
  genpd_runtime_resume+0x134/0x258
  __rpm_callback+0x98/0x138
  rpm_callback+0x30/0x88
  rpm_resume+0x36c/0x49c
  __pm_runtime_resume+0x80/0xb0
  dpu_core_irq_uninstall+0x30/0xb0
  dpu_irq_uninstall+0x18/0x24
  msm_drm_uninit+0xd8/0x16c

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/483255/
Link: https://lore.kernel.org/r/1650857213-30075-1-git-send-email-quic_vpolimer@quicinc.com
[DB: fixed Fixes tag]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c

index 93d916858d5ad8930dc021c39eb0c6541ed1e2fc..33ce6720dfae493309fdf3473f32ff7a029fc00f 100644 (file)
@@ -728,8 +728,10 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
                for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
                        u32 vbif_idx = dpu_kms->catalog->vbif[i].id;
 
-                       if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx])
+                       if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) {
                                dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]);
+                               dpu_kms->hw_vbif[vbif_idx] = NULL;
+                       }
                }
        }