[Intel-gfx] [PATCH 2/2] drm/i915: fixup interrupted overlay switch off calls
Andrew Lutomirski
luto at mit.edu
Mon Nov 30 14:34:12 CET 2009
On Sat, Apr 25, 2037 at 3:08 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> When switching to interruptible sleeps in the overlay code, I've
> forgotten to recover from interruptions at one site. This
> resulted in the overlay still running when it should have been
> switched off. This in turn caused a hang on resume because it
> tried to disable the (after resume not-running) overlay in preparation
> for the resume modeset.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=24980
> Tested-by: maximlevitsky at gmail.com
>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/intel_overlay.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
> index d18f563..1e4557a 100644
> --- a/drivers/gpu/drm/i915/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/intel_overlay.c
> @@ -880,12 +880,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;
return ret?
--Andy
More information about the Intel-gfx
mailing list