Patch "drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails" has been added to the 5.19-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/gpu: Drop qos request if devm_devfreq_add_device() fails

to the 5.19-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-gpu-drop-qos-request-if-devm_devfreq_add_dev.patch
and it can be found in the queue-5.19 subdirectory.

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



commit 77d318b2082a0b67ab3e776842227f0f62698995
Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Date:   Fri Jul 8 09:26:32 2022 -0700

    drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails
    
    [ Upstream commit 02b9f2636209beb843ca501d47f7fddc8792b2d7 ]
    
    In the event that devm_devfreq_add_device() fails the device's qos freq
    list is left referencing df->idle_freq and df->boost_freq. Attempting to
    initialize devfreq again after a probe deferral will then cause invalid
    memory accesses in dev_pm_qos_add_request().
    
    Fix this by dropping the requests in the error path.
    
    Fixes: 7c0ffcd40b16 ("drm/msm/gpu: Respect PM QoS constraints")
    Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
    Reviewed-by: Rob Clark <robdclark@xxxxxxxxx>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
    Patchwork: https://patchwork.freedesktop.org/patch/493001/
    Link: https://lore.kernel.org/r/20220708162632.3529864-1-bjorn.andersson@xxxxxxxxxx
    Signed-off-by: Rob Clark <robdclark@xxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/msm/msm_gpu_devfreq.c b/drivers/gpu/drm/msm/msm_gpu_devfreq.c
index ea94bc18e72eb..89cc93eb67557 100644
--- a/drivers/gpu/drm/msm/msm_gpu_devfreq.c
+++ b/drivers/gpu/drm/msm/msm_gpu_devfreq.c
@@ -213,6 +213,8 @@ void msm_devfreq_init(struct msm_gpu *gpu)
 
 	if (IS_ERR(df->devfreq)) {
 		DRM_DEV_ERROR(&gpu->pdev->dev, "Couldn't initialize GPU devfreq\n");
+		dev_pm_qos_remove_request(&df->idle_freq);
+		dev_pm_qos_remove_request(&df->boost_freq);
 		df->devfreq = NULL;
 		return;
 	}



[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