Re: PCMCIA and interrupts?
|> ok, get hte package strace.
|> send that to the debian list .
OK, this is in connection with my troubles in getting PCMCIA services
to work with Slink on my laptop (custom-compiled kernel 2.0.36), maybe
because of IRQ conflict.
Doing `setserial /dev/ttyS1' produces this on console and in syslog:
Jul 20 20:50:21 lapdog kernel: Unable to handle kernel NULL pointer dereference at virtual address c0000000
Jul 20 20:50:21 lapdog kernel: current->tss.cr3 = 00883000, %cr3 = 00883000
Jul 20 20:50:21 lapdog kernel: *pde = 00102067
Jul 20 20:50:21 lapdog kernel: *pte = 00000000
Jul 20 20:50:21 lapdog kernel: Oops: 0000
Jul 20 20:50:21 lapdog kernel: CPU: 0
Jul 20 20:50:21 lapdog kernel: EIP: 0010:[<00000000>]
Jul 20 20:50:21 lapdog kernel: EFLAGS: 00010206
Jul 20 20:50:21 lapdog kernel: eax: 00000000 ebx: 00000004 ecx: 00000064 edx: 00000009
Jul 20 20:50:21 lapdog kernel: esi: 001bd6e0 edi: 00000000 ebp: 00858fa0 esp: 00858f88
Jul 20 20:50:21 lapdog kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jul 20 20:50:21 lapdog kernel: Process strace (pid: 149, process nr: 20, stackpage=00858000)
Jul 20 20:50:21 lapdog kernel: Stack: 00113688 00000001 ffffffff 00000001 00000000 00858fbc 001bd5d0 00119afb
Jul 20 20:50:21 lapdog kernel: 00858fbc 08068908 08065e48 bffff7e8 0010ab0b 400ab8ec 08068908 00000000
Jul 20 20:50:21 lapdog kernel: 08068908 08065e48 bffff7e8 00000000 4007002b 4007002b 4007002b 0000002b
Jul 20 20:50:21 lapdog kernel: Call Trace: [timer_bh+248/864] [do_bottom_half+59/112] [handle_bottom_half+11/24]
Jul 20 20:50:21 lapdog kernel: Code: <1>Unable to handle kernel NULL pointer dereference at virtual address c0000000
Jul 20 20:50:21 lapdog kernel: current->tss.cr3 = 00883000, %cr3 = 00883000
Jul 20 20:50:21 lapdog kernel: *pde = 00102067
Jul 20 20:50:21 lapdog kernel: *pte = 00000000
Jul 20 20:50:21 lapdog kernel: Oops: 0000
Jul 20 20:50:21 lapdog kernel: CPU: 0
Jul 20 20:50:21 lapdog kernel: EIP: 0010:[die_if_kernel+652/736]
Jul 20 20:50:21 lapdog kernel: EFLAGS: 00010202
Jul 20 20:50:21 lapdog kernel: eax: 00000010 ebx: 0009002b ecx: 00000000 edx: 0094ec0c
Jul 20 20:50:21 lapdog kernel: esi: 00000000 edi: 00859000 ebp: 00858f4c esp: 00858ef0
Jul 20 20:50:21 lapdog kernel: ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Jul 20 20:50:21 lapdog kernel: Process strace (pid: 149, process nr: 20, stackpage=00858000)
Jul 20 20:50:21 lapdog kernel: Stack: 0018002b 00000000 00000000 00858f4c 00ab4810 01400000 01800000 01000000
Jul 20 20:50:21 lapdog kernel: 00ab0018 0011260e 0018e798 00858f4c 00850000 00112310 001bd6e0 00000000
Jul 20 20:50:21 lapdog kernel: 00858fa0 00000212 002e3c18 00350000 0010acdc 00858f4c 00850000 00000004
Jul 20 20:50:21 lapdog kernel: Call Trace: [save_cur+171/272] [<01400000>] [<01800000>] [serial:register_serial_R3425f38c+-56452/324] [do_page_fault+766/800] [do_page_fault+0/800] [error_code+64/72]
Jul 20 20:50:21 lapdog kernel: [timer_bh+248/864] [do_bottom_half+59/112] [handle_bottom_half+11/24]
Jul 20 20:50:21 lapdog kernel: Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68
Jul 20 20:50:21 lapdog kernel: Aiee, killing interrupt handler
And the output of strace on the samew command is:
execve("/bin/setserial", ["setserial", "/dev/ttyS1"], [/* 17 vars */]) = 0
brk(0) = 0x804bcfc
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=5335, ...}) = 0
mmap(0, 5335, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4000c000
close(4) = 0
open("/lib/libc.so.6", O_RDONLY) = 4
mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4000e000
munmap(0x4000e000, 4096) = 0
mmap(0, 673220, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4000e000
mprotect(0x400a0000, 75204, PROT_NONE) = 0
mmap(0x400a0000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x91000) = 0x400a0000
mmap(0x400a7000, 46532, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400a7000
close(4) = 0
munmap(0x4000c000, 5335) = 0
personality(PER_LINUX) = 0
getpid() = 150
open("/dev/ttyS1", O_RDWR|O_NONBLOCK) = 4
ioctl(4, TIOCGSERIAL, 0xbffffd7c) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 1), ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000c000
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "/dev/ttyS1, UART: 16550A, Port: "..., 47) = 47
close(4) = 0
----------------------------------------------------------------------
Again, I'd be very grateful indeed for any help, pointers, anything
.....
Jim
Reply to: