[Intel-gfx] [REGRESSION] system hang on ILK/SNB/IVB

Gabriel Feceoru gabriel.feceoru at intel.com
Wed Mar 30 17:20:26 UTC 2016

This commit causes a hang while running kms suspend tests 
(kms_pipe_crc_basic at suspend-read-crc-pipe-*) on ILK/SNB/IVB, affecting CI.

Probably the same problem with the one in v2, but on older HW.

commit a7442b93cf32c1e1ddb721a26cd1f92302e2a222
Author: Lukas Wunner <lukas at wunner.de>
Date:   Wed Mar 9 12:52:53 2016 +0100

     drm/i915: Fix races on fbdev

     The ->lastclose callback invokes intel_fbdev_restore_mode() and has
     been witnessed to run before intel_fbdev_initial_config_async()
     has finished.

     We might likewise receive hotplug events before we've had a chance to
     fully set up the fbdev.

     Fix by waiting for the asynchronous thread to finish.

     An async_synchronize_full() was also added to intel_fbdev_set_suspend()
     in v1 which turned out to be entirely gratuitous. It caused a deadlock
     on suspend (discovered by CI, thanks to Damien Lespiau and Tomi Sarvela
     for CI support) and was unnecessary since a device is never suspended
     until its ->probe callback (and all asynchronous tasks it scheduled)
     have finished. See dpm_prepare(), which calls wait_for_device_probe(),
     which calls async_synchronize_full().

     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93580
     Reported-by: Gustav F├Ągerlind <gustav.fagerlind at gmail.com>
     Reported-by: "Li, Weinan Z" <weinan.z.li at intel.com>
     Cc: Chris Wilson <chris at chris-wilson.co.uk>
     Cc: stable at vger.kernel.org
     Signed-off-by: Lukas Wunner <lukas at wunner.de>
     Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>


More information about the Intel-gfx mailing list