From b0b2b50cdbd132cb78ed25c27081849a405b75e3 Mon Sep 17 00:00:00 2001 From: Vinay Belgaumkar Date: Mon, 1 Jul 2024 16:15:28 -0700 Subject: [PATCH] drm/xe/guc: Prevent use of uninitialized mutex When skip_guc_pc is set and/or this is for a VF. Fixes: 3b1592fb7835 ("drm/xe/lnl: Apply Wa_22019338487") Signed-off-by: Vinay Belgaumkar Reviewed-by: Rodrigo Vivi Link: https://patchwork.freedesktop.org/patch/msgid/20240701231529.2582452-1-vinay.belgaumkar@intel.com Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_guc_pc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c index d88f5e960fbd..f7b468930697 100644 --- a/drivers/gpu/drm/xe/xe_guc_pc.c +++ b/drivers/gpu/drm/xe/xe_guc_pc.c @@ -26,6 +26,7 @@ #include "xe_mmio.h" #include "xe_pcode.h" #include "xe_pm.h" +#include "xe_sriov.h" #include "xe_wa.h" #define MCHBAR_MIRROR_BASE_SNB 0x140000 @@ -825,6 +826,9 @@ int xe_guc_pc_restore_stashed_freq(struct xe_guc_pc *pc) { int ret = 0; + if (IS_SRIOV_VF(pc_to_xe(pc)) || pc_to_xe(pc)->info.skip_guc_pc) + return 0; + mutex_lock(&pc->freq_lock); ret = pc_set_max_freq(pc, pc->stashed_max_freq); if (!ret) -- 2.25.1