Package: linux-image-2.6.18-3-686 Version: 2.6.18-7 Severity: normal It seems that the kernel has some races in opening/closing of serial ports. Simple C program below just opens/closes a port in a loop. When I run the program, I begin to get the following in dmesg even though the port is not connected (idle):
irq 4: nobody cared (try booting with the "irqpoll" option) [<c014037f>] __report_bad_irq+0x2b/0x69 [<c014056c>] note_interrupt+0x1af/0x1e7 [<c013fb83>] handle_IRQ_event+0x23/0x49 [<c013fc5c>] __do_IRQ+0xb3/0xe8 [<c01050e5>] do_IRQ+0x43/0x52 [<c01036b6>] common_interrupt+0x1a/0x20 [<c0101b91>] mwait_idle+0x25/0x38 [<c0101b52>] cpu_idle+0x9f/0xb9 [<c03186fd>] start_kernel+0x379/0x380 handlers: [<c020e07b>] (serial8250_interrupt+0x0/0xdd) Disabling IRQ #4 In addition, when two copies of this program are run simultaneously on my hyper-thread Pentium 4 box, each of copies start to randomly fail to open the port with errno=5 (Input/output error). Note that I've tested this both with standard PC port ttyS0 and with serial ports of MOXA multi-port serial board (ttyM*), and [mis]behavior is the same. Also note that opening /dev/null instead of serial port doesn't have the problem. Here is the C program: #include <stdio.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> int main() { while(1) { int fd = open("/dev/ttyS0", O_RDONLY | O_NOCTTY); if(fd < 0) fprintf(stderr, "%s\n", strerror(errno)); else close(fd); } } -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-686 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages linux-image-2.6.18-3-686 depends on: ii coreutils 5.96-5 The GNU core utilities ii debconf [debconf-2.0] 1.5.3 Debian configuration management sy ii initramfs-tools [linux-initra 0.77b tools for generating an initramfs ii module-init-tools 3.2.2-3 tools for managing Linux kernel mo Versions of packages linux-image-2.6.18-3-686 recommends: ii libc6-i686 2.3.6.ds1-4 GNU C Library: Shared libraries [i -- debconf information: linux-image-2.6.18-3-686/postinst/bootloader-error-2.6.18-3-686: linux-image-2.6.18-3-686/postinst/old-dir-initrd-link-2.6.18-3-686: true linux-image-2.6.18-3-686/postinst/kimage-is-a-directory: linux-image-2.6.18-3-686/postinst/old-system-map-link-2.6.18-3-686: true linux-image-2.6.18-3-686/postinst/create-kimage-link-2.6.18-3-686: true linux-image-2.6.18-3-686/postinst/bootloader-test-error-2.6.18-3-686: linux-image-2.6.18-3-686/preinst/abort-overwrite-2.6.18-3-686: linux-image-2.6.18-3-686/postinst/old-initrd-link-2.6.18-3-686: true shared/kernel-image/really-run-bootloader: true linux-image-2.6.18-3-686/preinst/elilo-initrd-2.6.18-3-686: true linux-image-2.6.18-3-686/preinst/lilo-initrd-2.6.18-3-686: true linux-image-2.6.18-3-686/postinst/depmod-error-initrd-2.6.18-3-686: false linux-image-2.6.18-3-686/preinst/bootloader-initrd-2.6.18-3-686: true linux-image-2.6.18-3-686/prerm/removing-running-kernel-2.6.18-3-686: true linux-image-2.6.18-3-686/prerm/would-invalidate-boot-loader-2.6.18-3-686: true linux-image-2.6.18-3-686/preinst/abort-install-2.6.18-3-686: linux-image-2.6.18-3-686/preinst/overwriting-modules-2.6.18-3-686: true linux-image-2.6.18-3-686/preinst/initrd-2.6.18-3-686: linux-image-2.6.18-3-686/preinst/lilo-has-ramdisk: linux-image-2.6.18-3-686/preinst/already-running-this-2.6.18-3-686: linux-image-2.6.18-3-686/postinst/depmod-error-2.6.18-3-686: false linux-image-2.6.18-3-686/preinst/failed-to-move-modules-2.6.18-3-686: -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]