lkml.org 
[lkml]   [2022]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 010/155] drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails
    Date
    From: Bjorn Andersson <bjorn.andersson@linaro.org>

    [ 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@linaro.org>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Patchwork: https://patchwork.freedesktop.org/patch/493001/
    Link: https://lore.kernel.org/r/20220708162632.3529864-1-bjorn.andersson@linaro.org
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/msm_gpu_devfreq.c | 2 ++
    1 file changed, 2 insertions(+)

    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;
    }
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-09-06 16:02    [W:2.400 / U:0.420 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site