[Intel-gfx] [PATCH 4/4] drm/i915: Fix locking in DRRS debugfs
Ville Syrjala
ville.syrjala at linux.intel.com
Wed Sep 28 10:44:34 UTC 2022
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Grab the crtc mutex so that looking at the crtc state is
actually safe.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_drrs.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c
index a5d6682475d1..2b94a62ef65a 100644
--- a/drivers/gpu/drm/i915/display/intel_drrs.c
+++ b/drivers/gpu/drm/i915/display/intel_drrs.c
@@ -301,8 +301,14 @@ void intel_crtc_drrs_init(struct intel_crtc *crtc)
static int intel_drrs_debugfs_status_show(struct seq_file *m, void *unused)
{
struct intel_crtc *crtc = m->private;
- const struct intel_crtc_state *crtc_state =
- to_intel_crtc_state(crtc->base.state);
+ const struct intel_crtc_state *crtc_state;
+ int ret;
+
+ ret = drm_modeset_lock_single_interruptible(&crtc->base.mutex);
+ if (ret)
+ return ret;
+
+ crtc_state = to_intel_crtc_state(crtc->base.state);
mutex_lock(&crtc->drrs.mutex);
@@ -321,6 +327,8 @@ static int intel_drrs_debugfs_status_show(struct seq_file *m, void *unused)
mutex_unlock(&crtc->drrs.mutex);
+ drm_modeset_unlock(&crtc->base.mutex);
+
return 0;
}
--
2.35.1
More information about the Intel-gfx
mailing list