diff mbox series

drm/i915/dsc: Fix the deadlock in dsc debugfs node

Message ID 20181219235120.21816-1-manasi.d.navare@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/dsc: Fix the deadlock in dsc debugfs node | expand

Commit Message

Navare, Manasi Dec. 19, 2018, 11:51 p.m. UTC
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>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Lyude Paul Dec. 19, 2018, 11:50 p.m. UTC | #1
Reviewed-by: Lyude Paul <lyude@redhat.com>

On Wed, 2018-12-19 at 15:51 -0800, Manasi Navare wrote:
> 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>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 77486a614614..aca26a25ed50 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -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) {
Chris Wilson Dec. 20, 2018, 8:03 a.m. UTC | #2
Quoting Lyude Paul (2018-12-19 23:50:58)
> Reviewed-by: Lyude Paul <lyude@redhat.com>
> 
> On Wed, 2018-12-19 at 15:51 -0800, Manasi Navare wrote:
> > 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>

Thanks for the quick fix and review, pushed.
-Chris
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 77486a614614..aca26a25ed50 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -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) {