OSDN Git Service

drm/i915/dsc: Fix the deadlock in dsc debugfs node
authorManasi Navare <manasi.d.navare@intel.com>
Wed, 19 Dec 2018 23:51:20 +0000 (15:51 -0800)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 20 Dec 2018 08:02:33 +0000 (08:02 +0000)
The DSC debugfs node causes a possible deadlock situation. This patch
resets the try_again at the beginning of loop to fix this.

Fixes: e845f099f1c6 ('drm/i915/dsc: Add Per connector debugfs node for DSC support/enable')
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109097
Cc: Lyude Paul <lyude@redhat.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181219235120.21816-1-manasi.d.navare@intel.com
drivers/gpu/drm/i915/i915_debugfs.c

index 77486a6..aca26a2 100644 (file)
@@ -5108,6 +5108,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
        drm_modeset_acquire_init(&ctx, DRM_MODESET_ACQUIRE_INTERRUPTIBLE);
 
        do {
+               try_again = false;
                ret = drm_modeset_lock(&dev->mode_config.connection_mutex,
                                       &ctx);
                if (ret) {