Hello, Hardware MOBO Intel DG965SS (chipset G965 Express) PATA CDRW LG GCE-8400B I'm using PATA_MARVELL driver, and trying to burn a CD results in a total machine freeze (no SysRq / no output over serial console). The freeze doesn't happens immediately: the writing process stalls for several seconds during which the machine works flawlessy. I've found that even a simple "sdparm -a /dev/sr0" have the same effect, so I've done an strace: execve("/usr/bin/sdparm", ["sdparm", "-a", "/dev/sr0"], [/* 63 vars */]) = 0 brk(0) = 0x52c000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3bfa0b3000 uname({sys="Linux", node="tux", ...}) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=129796, ...}) = 0 mmap(NULL, 129796, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3bfa0b4000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\322\1"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1256568, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3bfa0d4000 mmap(NULL, 2273448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3bfa1b4000 mprotect(0x2b3bfa2d6000, 1048576, PROT_NONE) = 0 mmap(0x2b3bfa3d6000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x122000) = 0x2b3bfa3d6000 mmap(0x2b3bfa3db000, 16552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3bfa3db000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3bfa3e0000 arch_prctl(ARCH_SET_FS, 0x2b3bfa3e06d0) = 0 mprotect(0x2b3bfa3d6000, 12288, PROT_READ) = 0 mprotect(0x2b3bfa1b2000, 4096, PROT_READ) = 0 munmap(0x2b3bfa0b4000, 129796) = 0 open("/dev/sr0", O_RDONLY|O_NONBLOCK) = 3 brk(0) = 0x52c000 brk(0x54d000) = 0x54d000 ioctl(3, SG_IO, 0x52c010) = 0 fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3bfa0b4000 write(1, " /dev/sr0: HL-DT-ST CD-RW GC"..., 57) = 57 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 write(1, "Read write error recovery mode p"..., 37) = 37 write(1, " AWRE 0 [cha: n, def: "..., 35) = 35 write(1, " ARRE 0 [cha: n, def: "..., 35) = 35 write(1, " TB 0 [cha: n, def: "..., 35) = 35 write(1, " RC 0 [cha: n, def: "..., 35) = 35 write(1, " EER 0 [cha: n, def: "..., 35) = 35 write(1, " PER 0 [cha: n, def: "..., 35) = 35 write(1, " DTE 0 [cha: n, def: "..., 35) = 35 write(1, " DCR 0 [cha: y, def: "..., 35) = 35 write(1, " RRC 32 [cha: y, def: 3"..., 35) = 35 write(1, " COR_S 0 [cha: n, def: "..., 35) = 35 write(1, " HOC 0 [cha: n, def: "..., 35) = 35 write(1, " DSOC 0 [cha: n, def: "..., 35) = 35 write(1, " EMCDR 0 [cha: n, def: "..., 35) = 35 write(1, " WRC 0 [cha: n, def: "..., 35) = 35 write(1, " ERTL 0 [cha: n, def: "..., 35) = 35 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 write(1, "Write parameters (MMC) mode page"..., 34) = 34 write(1, " BUFE 0 [cha: y, def: "..., 35) = 35 write(1, " LS_V 0 [cha: n, def: "..., 35) = 35 write(1, " TST_W 0 [cha: y, def: "..., 35) = 35 write(1, " WR_T 1 [cha: y, def: "..., 35) = 35 write(1, " MULTI_S 0 [cha: y, def: "..., 35) = 35 write(1, " FP 0 [cha: y, def: "..., 35) = 35 write(1, " COPY 0 [cha: y, def: "..., 35) = 35 write(1, " TRACK_M 4 [cha: y, def: "..., 35) = 35 write(1, " DBT 8 [cha: y, def: "..., 35) = 35 write(1, " LINK_S 0 [cha: n, def: "..., 35) = 35 write(1, " IAC 0 [cha: y, def: "..., 35) = 35 write(1, " SESS_F 0 [cha: y, def: "..., 35) = 35 write(1, " PACK_S 0 [cha: y, def: "..., 35) = 35 write(1, " APL 150 [cha: y, def:15"..., 35) = 35 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 write(1, "Protocol specific logical unit m"..., 42) = 42 write(1, " LUPID 0 [cha: n, def: "..., 35) = 35 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 write(1, "Power condition mode page:\n", 27) = 27 write(1, " IDLE 1 [cha: n, def: "..., 35) = 35 write(1, " STANDBY 1 [cha: n, def: "..., 35) = 35 write(1, " ICT 1200 [cha: n, def:1"..., 37) = 37 write(1, " SCT 2400 [cha: n, def:2"..., 37) = 37 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO, 0x52c010) = 0 ioctl(3, SG_IO ^^^^^^^^^^^^^^^^^^^ I don't know why the output is truncated that way... anyway, as said before, the machine works for something like 30s after this (in the above example it survived >60s). dmesg / lspci / config attached Any idea? -- Paolo Ornati Linux 2.6.20-rc3 on x86_64