From f9ad4e40c3268ece5681d30aea9f1c21d4adfe08 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Mon, 30 Nov 2009 15:55:49 +0100 Subject: [PATCH] --- yaml --- r: 174549 b: refs/heads/master c: 9bedb9743fd906e4160468663ee6e1bbdc4412b8 h: refs/heads/master i: 174547: 2f4f400c6e527d6604bb40b0bc4cba0ca392ab52 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/intel_overlay.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 4472ec9d5e96..00fbf3145e18 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 12ca45fea91cfbb09df828bea958b47348caee6d +refs/heads/master: 9bedb9743fd906e4160468663ee6e1bbdc4412b8 diff --git a/trunk/drivers/gpu/drm/i915/intel_overlay.c b/trunk/drivers/gpu/drm/i915/intel_overlay.c index b97c5c562aa1..49110b3aab6a 100644 --- a/trunk/drivers/gpu/drm/i915/intel_overlay.c +++ b/trunk/drivers/gpu/drm/i915/intel_overlay.c @@ -842,12 +842,15 @@ int intel_overlay_switch_off(struct intel_overlay *overlay) BUG_ON(!mutex_is_locked(&dev->struct_mutex)); BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); + if (overlay->hw_wedged) { + ret = intel_overlay_recover_from_interrupt(overlay, 1); + if (ret != 0) + return ret; + } + if (!overlay->active) return 0; - if (overlay->hw_wedged) - return -EBUSY; - ret = intel_overlay_release_old_vid(overlay); if (ret != 0) return ret;