Hibernate broken when KMS enabled on Radeon Mobility M6 LY
Submitted by Kjö HansiGlaz
Assigned to Default DRI bug account
Description
On IBM ThinkPad X32 with Radeon Mobility M6 LY, enabling KMS breaks suspend to disk (more precisely, the devices phase).
This problem is known under debian squeeze with kernels 2.6.32-18, 2.6.32-13, 2.6.32-20, 2.6.32-25, 2.6.35-1experimental.1, 2.6.36rc6-1~experimental.1, 2.6.39-2, 2.6.39-2-686-pae (basically all tested kernel since KMS appeared)
More information can be found on the debian bug tracker: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583120
Here are some test:
single user mode with KMS
=========================
- boot in single user mode (see [1] for result of
ps aux
)
- remove unused modules (see [2] for reslut of
lsmod
)
-
echo freezer > /sys/power/pm_test
;echo disk > /sys/power/state
the freeze successes (stuff happens then bash comes back)
-
echo devices > /sys/power/pm_test
;echo disk > /sys/power/state
the screen remains black, power and battery LEDs on, kernel doesn't
answer to sysrq
single user mode without KMS
============================
1) boot in single user mode with `radeon.modeset=0` on kernel command line
(see [3] for result of `ps aux`)
2) remove unused modules (see [4] for reslut of `lsmod`)
3) `echo freezer > /sys/power/pm_test` ; `echo disk > /sys/power/state`
the freeze successes
4) `echo devices > /sys/power/pm_test` ; `echo disk > /sys/power/state`
seems to succeed (stuff happens then bash comes back)
single user mode with KMS, noapic, nolapic
==========================================
Same test with `noapic nolapic` on kernel command line;
Same result as "single user mode with KMS"
single user mode with KMS, acpi=off
===================================
Same test with `acpi=off` on kernel command line;
The system doesn't boot, so I can't test
Hope it helps, feel free to ask for more tests,
Notes
=====
[1]. Result of ps aux, KMS enabled:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1.3 0.0 2080 608 ? Ss 11:20 0:00 init [S]
root 2 0.0 0.0 0 0 ? S 11:20 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11:20 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 11:20 0:00 [kworker/0:0]
root 5 0.0 0.0 0 0 ? S 11:20 0:00 [kworker/u:0]
root 6 0.0 0.0 0 0 ? S 11:20 0:00 [migration/0]
root 7 0.0 0.0 0 0 ? S 11:20 0:00 [watchdog/0]
root 8 0.0 0.0 0 0 ? S< 11:20 0:00 [cpuset]
root 9 0.0 0.0 0 0 ? S< 11:20 0:00 [khelper]
root 10 0.0 0.0 0 0 ? S< 11:20 0:00 [netns]
root 11 0.0 0.0 0 0 ? S 11:20 0:00 [sync_supers]
root 12 0.0 0.0 0 0 ? S 11:20 0:00 [bdi-default]
root 13 0.0 0.0 0 0 ? S< 11:20 0:00 [kintegrityd]
root 14 0.0 0.0 0 0 ? S< 11:20 0:00 [kblockd]
root 15 0.5 0.0 0 0 ? S 11:20 0:00 [kworker/0:1]
root 16 0.0 0.0 0 0 ? S 11:20 0:00 [khungtaskd]
root 17 0.0 0.0 0 0 ? S 11:20 0:00 [kswapd0]
root 18 0.0 0.0 0 0 ? SN 11:20 0:00 [ksmd]
root 19 0.0 0.0 0 0 ? SN 11:20 0:00 [khugepaged]
root 20 0.0 0.0 0 0 ? S 11:20 0:00 [fsnotify_mark]
root 21 0.0 0.0 0 0 ? S< 11:20 0:00 [crypto]
root 24 0.0 0.0 0 0 ? S 11:20 0:00 [kworker/0:2]
root 165 0.0 0.0 0 0 ? S 11:20 0:00 [khubd]
root 166 0.0 0.0 0 0 ? S< 11:20 0:00 [ata_sff]
root 169 0.0 0.0 0 0 ? S 11:20 0:00 [scsi_eh_0]
root 170 0.0 0.0 0 0 ? S 11:20 0:00 [scsi_eh_1]
root 172 0.0 0.0 0 0 ? S 11:20 0:00 [kworker/u:1]
root 173 0.0 0.0 0 0 ? S 11:20 0:00 [kworker/u:2]
root 256 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 257 0.0 0.0 0 0 ? S< 11:20 0:00 [kcryptd_io]
root 258 0.0 0.0 0 0 ? S< 11:20 0:00 [kcryptd]
root 265 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 270 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 275 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 280 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 285 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 290 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 295 0.0 0.0 0 0 ? S< 11:20 0:00 [kdmflush]
root 311 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-1-8]
root 312 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
root 368 0.1 0.1 2588 1096 ? S
root 628 0.0 0.0 0 0 ? S< 11:20 0:00 [ttm_swap]
root 929 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-3-8]
root 930 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
root 931 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-4-8]
root 932 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
root 933 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-7-8]
root 934 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
root 935 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-5-8]
root 936 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
root 937 0.0 0.0 0 0 ? S 11:20 0:00 [jbd2/dm-6-8]
root 938 0.0 0.0 0 0 ? S< 11:20 0:00 [ext4-dio-unwrit]
daemon 1226 0.0 0.0 1856 492 ? Ss 11:20 0:00 /sbin/portmap -i 127.0.0.1
statd 1256 0.0 0.0 1984 768 ? Ss 11:20 0:00 /sbin/rpc.statd
root 1392 0.0 0.0 2080 88 tty4 Ss 11:20 0:00 init [S]
root 1393 0.3 0.1 3088 1648 tty4 S 11:20 0:00 bash
root 1394 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:1]
root 1395 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:3]
root 1396 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:4]
root 1397 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:5]
root 1398 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:6]
root 1399 0.0 0.0 0 0 ? S 11:20 0:00 [flush-254:7]
root 1413 0.0 0.0 2584 956 ? S< 11:21 0:00 udevd --daemon
root 1414 0.0 0.0 2584 980 ? S< 11:21 0:00 udevd --daemon
root 1450 0.0 0.0 2400 924 tty4 R+ 11:21 0:00 ps aux
[2]. Result of lsmod, KMS enabled:
Module Size Used by
fuse 55666 1
radeon 712176 1
ttm 46736 1 radeon
drm_kms_helper 26550 1 radeon
drm 129190 3 radeon,ttm,drm_kms_helper
i2c_algo_bit 12706 1 radeon
power_supply 13283 1 radeon
i2c_core 19022 4 radeon,drm_kms_helper,drm,i2c_algo_bit
processor 26983 1
ext4 270998 6
mbcache 12810 1 ext4
jbd2 55701 1 ext4
crc16 12327 1 ext4
sha256_generic 16709 2
aes_i586 16608 2
aes_generic 37066 1 aes_i586
cbc 12659 1
dm_crypt 17809 1
dm_mod 56401 26 dm_crypt
sd_mod 35060 2
crc_t10dif 12332 1 sd_mod
ata_piix 21079 1
libata 132100 1 ata_piix
usbcore 99225 1
scsi_mod 134453 2 sd_mod,libata
thermal_sys 17667 1 processor
[3]. result of `ps aux`, KMS disabled
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.5 0.0 2080 608 ? Ss 11:12 0:01 init [S]
root 2 0.0 0.0 0 0 ? S 11:12 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11:12 0:00 [ksoftirqd/0]
root 4 0.1 0.0 0 0 ? S 11:12 0:00 [kworker/0:0]
root 5 0.0 0.0 0 0 ? S 11:12 0:00 [kworker/u:0]
root 6 0.0 0.0 0 0 ? S 11:12 0:00 [migration/0]
root 7 2.0 0.0 0 0 ? S 11:12 0:04 [watchdog/0]
root 8 0.0 0.0 0 0 ? S< 11:12 0:00 [cpuset]
root 9 0.0 0.0 0 0 ? S< 11:12 0:00 [khelper]
root 10 0.0 0.0 0 0 ? S< 11:12 0:00 [netns]
root 11 0.0 0.0 0 0 ? S 11:12 0:00 [sync_supers]
root 12 0.0 0.0 0 0 ? S 11:12 0:00 [bdi-default]
root 13 0.0 0.0 0 0 ? S< 11:12 0:00 [kintegrityd]
root 14 0.0 0.0 0 0 ? S< 11:12 0:00 [kblockd]
root 15 0.5 0.0 0 0 ? S 11:12 0:01 [kworker/0:1]
root 16 0.0 0.0 0 0 ? S 11:12 0:00 [khungtaskd]
root 17 0.0 0.0 0 0 ? S 11:12 0:00 [kswapd0]
root 18 0.0 0.0 0 0 ? SN 11:12 0:00 [ksmd]
root 19 0.0 0.0 0 0 ? SN 11:12 0:00 [khugepaged]
root 20 0.0 0.0 0 0 ? S 11:12 0:00 [fsnotify_mark]
root 21 0.0 0.0 0 0 ? S< 11:12 0:00 [crypto]
root 24 0.0 0.0 0 0 ? S 11:12 0:00 [kworker/0:2]
root 159 0.0 0.0 0 0 ? S 11:12 0:00 [khubd]
root 160 0.0 0.0 0 0 ? S< 11:13 0:00 [ata_sff]
root 161 0.0 0.0 0 0 ? S 11:13 0:00 [scsi_eh_0]
root 162 0.0 0.0 0 0 ? S 11:13 0:00 [scsi_eh_1]
root 163 0.0 0.0 0 0 ? S 11:13 0:00 [kworker/u:1]
root 164 0.0 0.0 0 0 ? S 11:13 0:00 [kworker/u:2]
root 250 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 251 0.0 0.0 0 0 ? S< 11:14 0:00 [kcryptd_io]
root 252 0.0 0.0 0 0 ? S< 11:14 0:00 [kcryptd]
root 259 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 264 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 269 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 274 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 279 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 284 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 289 0.0 0.0 0 0 ? S< 11:14 0:00 [kdmflush]
root 305 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-1-8]
root 306 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
root 362 0.1 0.1 2588 1096 ? S
root 555 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:1]
root 884 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-3-8]
root 885 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
root 886 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-4-8]
root 887 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
root 888 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-7-8]
root 889 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
root 890 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-5-8]
root 891 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
root 892 0.0 0.0 0 0 ? S 11:15 0:00 [jbd2/dm-6-8]
root 893 0.0 0.0 0 0 ? S< 11:15 0:00 [ext4-dio-unwrit]
daemon 1170 0.0 0.0 1856 492 ? Ss 11:15 0:00 /sbin/portmap -i 127.0.0.1
statd 1182 0.0 0.0 1984 768 ? Ss 11:15 0:00 /sbin/rpc.statd
root 1347 0.0 0.0 2080 88 tty6 Ss 11:15 0:00 init [S]
root 1348 0.5 0.1 3096 1720 tty6 S 11:15 0:00 bash
root 1349 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:3]
root 1350 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:4]
root 1351 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:5]
root 1352 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:6]
root 1353 0.0 0.0 0 0 ? S 11:15 0:00 [flush-254:7]
root 1367 0.0 0.0 2584 956 ? S< 11:16 0:00 udevd --daemon
root 1369 0.0 0.0 2584 956 ? S< 11:16 0:00 udevd --daemon
root 1407 0.0 0.0 2400 932 tty6 R+ 11:16 0:00 ps aux
[4]. result of lsmod, KMS disabled:
Module Size Used by
fuse 55666 1
processor 26983 1
ext4 270998 6
mbcache 12810 1 ext4
jbd2 55701 1 ext4
crc16 12327 1 ext4
sha256_generic 16709 2
aes_i586 16608 2
aes_generic 37066 1 aes_i586
cbc 12659 1
dm_crypt 17809 1
dm_mod 56401 26 dm_crypt
sd_mod 35060 2
crc_t10dif 12332 1 sd_mod
ata_piix 21079 1
libata 132100 1 ata_piix
scsi_mod 134453 2 sd_mod,libata
usbcore 99225 1
thermal_sys 17667 1 processor