On Sun, Aug 26, 2012 at 8:42 PM, Daniel Vetter <daniel@xxxxxxxx> wrote: > On Sat, Aug 25, 2012 at 12:16:24AM +0200, Sedat Dilek wrote: >> This is a fixup patch for the merge of drm-next into linux-next caused >> by commit b6c7488df68a ("drm/i915/contexts: fix list corruption"). >> >> Reported-By: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> >> Signed-off-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> > > This is wrong, switch_context _must_ happen before ring_idle, otherwise > all hell can break loose on resume. I followed what's in drm-intel-next not what was in Linus-tree. - Sedat - http://cgit.freedesktop.org/~danvet/drm-intel/tree/drivers/gpu/drm/i915/i915_gem.c?h=drm-intel-next#n2432 > -Daniel > >> --- >> drivers/gpu/drm/i915/i915_gem.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c >> index 4f6841d..e8a5cb2 100644 >> --- a/drivers/gpu/drm/i915/i915_gem.c >> +++ b/drivers/gpu/drm/i915/i915_gem.c >> @@ -2273,11 +2273,11 @@ int i915_gpu_idle(struct drm_device *dev) >> >> /* Flush everything onto the inactive list. */ >> for_each_ring(ring, dev_priv, i) { >> - ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID); >> + ret = i915_ring_idle(ring); >> if (ret) >> return ret; >> >> - ret = i915_ring_idle(ring); >> + ret = i915_switch_context(ring, NULL, DEFAULT_CONTEXT_ID); >> if (ret) >> return ret; >> >> -- >> 1.7.9.5 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Mail: daniel@xxxxxxxx > Mobile: +41 (0)79 365 57 48 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel