drm/i915/contexts: fix list corruption
authorBen Widawsky <ben@bwidawsk.net>
Tue, 14 Aug 2012 21:35:14 +0000 (14:35 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 17 Aug 2012 07:21:34 +0000 (09:21 +0200)
commitb6c7488df68ae3660d81b149b61b55b97929da83
tree75cda19232cdead5364f91a7d1979cd5b6eca308
parent38ab8a2009e33ded06bf80d3a95da393d8d651d6
drm/i915/contexts: fix list corruption

After reset we unconditionally reinitialize lists. If the context switch
hasn't yet completed before the suspend, the default context object will
end up on lists that are going to go away when we resume.

The patch forces the context switch to be synchronous before suspend
assuring that the active/inactive tracking is correct at the time of
resume.

References: https://bugs.freedesktop.org/show_bug.cgi?id=52429
Tested-by: Guang A Yang <guang.a.yang@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c