Patch "drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path" has been added to the 5.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path

to the 5.18-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-msm-dpu-handle-pm_runtime_get_sync-errors-in-bin.patch
and it can be found in the queue-5.18 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 90acea87411991650d88ecc21f097d5c2a5bd928
Author: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
Date:   Wed May 18 15:34:07 2022 -0700

    drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
    
    [ Upstream commit 64b22a0da12adb571c01edd671ee43634ebd7e41 ]
    
    If there are errors while trying to enable the pm in the
    bind path, it will lead to unclocked access of hw revision
    register thereby crashing the device.
    
    This will not address why the pm_runtime_get_sync() fails
    but at the very least we should be able to prevent the
    crash by handling the error and bailing out earlier.
    
    changes in v2:
            - use pm_runtime_resume_and_get() instead of
              pm_runtime_get_sync()
    
    Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
    Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
    Reviewed-by: Rob Clark <robdclark@xxxxxxxxx>
    Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
    Patchwork: https://patchwork.freedesktop.org/patch/486721/
    Link: https://lore.kernel.org/r/20220518223407.26147-1-quic_abhinavk@xxxxxxxxxxx
    Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index ad13a9423601..c8089678f733 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1058,7 +1058,9 @@ static int dpu_kms_hw_init(struct msm_kms *kms)
 
 	dpu_kms_parse_data_bus_icc_path(dpu_kms);
 
-	pm_runtime_get_sync(&dpu_kms->pdev->dev);
+	rc = pm_runtime_resume_and_get(&dpu_kms->pdev->dev);
+	if (rc < 0)
+		goto error;
 
 	dpu_kms->core_rev = readl_relaxed(dpu_kms->mmio + 0x0);
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux