]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/guc: Prevent use of uninitialized mutex
authorVinay Belgaumkar <vinay.belgaumkar@intel.com>
Mon, 1 Jul 2024 23:15:28 +0000 (16:15 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 2 Jul 2024 16:14:00 +0000 (12:14 -0400)
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 <vinay.belgaumkar@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240701231529.2582452-1-vinay.belgaumkar@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_pc.c

index d88f5e960fbd320209b8045464245d07ac7d9220..f7b4689306971cfea9fc412cfc156f9cd5e7ae6f 100644 (file)
@@ -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)