Bug 5280 - Display sometimes locked up on resume on i810 w/DRI enabled
Display sometimes locked up on resume on i810 w/DRI enabled
Status: RESOLVED WORKSFORME
Product: DRI
Classification: Unclassified
Component: DRM/other
XOrg git
x86 (IA32) Linux (All)
: high critical
Assigned To: Default DRI bug account
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-12-08 12:56 UTC by Lorenzo Colitti
Modified: 2006-06-22 03:27 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
My xorg.conf (2.19 KB, text/plain)
2005-12-08 12:57 UTC, Lorenzo Colitti
no flags Details
Log file of crash (81.31 KB, text/plain)
2005-12-08 12:58 UTC, Lorenzo Colitti
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lorenzo Colitti 2005-12-08 12:56:37 UTC
When DRI is enabled, about 1 time out of 10 my laptop's display dies when coming
out of S3 (suspend-to-RAM). The symptoms are:

- Instead of the normal X display coming back, only the mouse pointer appears
- X dies, reporting "Fatal server error: lockup"
- The display is totally unusable. Console doesn't work, X doesn't work,
"vbetool post" doesn't work, the only thing left is a reboot

This is using X.org 6.9RC3 on an IBM thinkpad X40 with an i855 integrated
graphics card, but it also happened on a Dell latitude D400 with an i855.

lspci reports:

0000:00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated
Graphics Device (rev 02)
Comment 1 Lorenzo Colitti 2005-12-08 12:57:17 UTC
Created attachment 4040 [details]
My xorg.conf
Comment 2 Lorenzo Colitti 2005-12-08 12:58:00 UTC
Created attachment 4041 [details]
Log file of crash
Comment 3 Lorenzo Colitti 2005-12-08 12:59:50 UTC
For what it's worth, my suspend-to-ram script does:

chvt 1
vbetool vbestate save > /tmp/vbe
echo mem > /sys/power/state
vbetool vbestate restore < /tmp/vbe
chvt 7
Comment 4 Lorenzo Colitti 2005-12-08 13:01:32 UTC
Note that if DRI is disabled with:

    Option "DRI" "off"

this does not occur and resume works fine 100% of the time.
Comment 5 Lorenzo Colitti 2005-12-15 12:06:51 UTC
CC'ing alan as suggested by Dave Airlie
Comment 6 Lorenzo Colitti 2005-12-15 13:15:36 UTC
More info:

- When the lockups happen on resume, |outring| is not aligned on a QWord
  boundary. This is strange because outring is only ever incremented by 4
  in the code. Perhaps it's not initialized during resume?

- Perhaps what happens is that if we suspend when the ring buffer is full,
  it stays full on resume and "gets stuck"?
Comment 7 Alan Hourihane 2006-01-30 20:19:08 UTC
You might want to try the latest CVS of X.Org, and get the latest DRM too.
Comment 8 Alan Hourihane 2006-02-18 06:59:01 UTC
Try without vbetool. Users have reported to me that when they've disabled it, it
works fine.
Comment 9 Alan Hourihane 2006-06-22 01:15:25 UTC
Did removing vbetool fix it ?
Comment 10 Lorenzo Colitti 2006-06-22 03:27:21 UTC
It seems to work most of the time now. Sometimes it gets stuck, but only rarely.
Resolving as WORKSFORME.