Bug 20235

Summary: [i915] [Regression] VT switch and suspend to disk broken
Product: DRI Reporter: Stefano Avallone <stavallo>
Component: DRM/IntelAssignee: Gordon Jin <gordon.jin>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: medium CC: dri-devel
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
Xorg log none

Description Stefano Avallone 2009-02-20 09:20:13 UTC
Created attachment 23139 [details]
dmesg

My system:
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)

kernel: airlied's drm-fixed branch as of 2009-02-20 (commit:
**
author  etienne <etienne.basset@numericable.fr>
   Thu, 19 Feb 2009 23:44:45 +0000 (09:44 +1000)
 drm/radeon: update sarea copies of last_ variables on resume.
**
)

From debian experimental:
xserver 1.5.99.902
mesa 7.3
libdrm 2.4.4+git+20090205
intel 2.6.1

Acceleration: UXA

VT switch and suspend to disk are broken. Even restarting or shutting down from X (KDE) makes the system freeze with a black screen.

Attached are dmesg taken (by ssh) after rebooting from KDE and Xorg.log.

According to the dmesg output, the problem seems to be:
BUG: unable to handle kernel NULL pointer dereference at 00000050                                               
IP: [<f87a009d>] i915_gem_cleanup_hws+0x1d/0x70 [i915]                                                          

I have used git-bisect and found that the first bad commit is:
**
author  Chris Wilson <chris@chris-wilson.co.uk>
   Wed, 11 Feb 2009 14:52:44 +0000 (14:52 +0000)
  commit  85a7bb98582b60b7e9130159d2464eb0bbac13f7
 drm/i915: Cleanup the hws on ringbuffer constrution failure.
 
 If we fail to create the ringbuffer, then we need to cleanup the allocated
 hws.
**

Reverting this single commit makes everything work again.


regards,
Stefano
Comment 1 Stefano Avallone 2009-02-20 09:21:39 UTC
Created attachment 23140 [details]
Xorg log
Comment 2 Stefano Avallone 2009-02-20 11:18:36 UTC
Fixed by the patch in:

http://lists.freedesktop.org/archives/intel-gfx/2009-February/001460.html
Comment 3 Eric Anholt 2009-02-21 10:49:03 UTC
Queued in for-airlied:

commit 99d31f896d243c13bb90b56620d33b416a5cffa7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Feb 20 17:52:20 2009 +0000

    drm/i915: Fix regression in 95ca9d
    
    The object is dereferenced before the NULL check. Oops.
    
    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20235
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.