Re: Problem with serial ports

Derrik (dpates@kalifornia.com)
Sun, 14 Jun 1998 08:37:27 -0700 (PDT)


On Sun, 14 Jun 1998, Michael Talbot-Wilson wrote:

> Hi. I have an 8-port dumb serial card with the ports sharing an irq.
> It is fine on Linux 2.1.54 but I get errors running setserial (out of
> rc.serial) on 2.1.105. Like this:
>
> #
> # /bin/setserial /dev/ttyS6 uart 16550A port 0x2A0 irq 5 ^fourport
> Cannot set serial info: Invalid argument
> #
> # /bin/setserial /dev/ttyS1 uart 16550A port 0x2F8 irq 3
> #
> setserial Version 2.12_CTI (glibc)

Someone made some sort of mistake in the kernel serial driver, and added a
comparison against new_serial.xmit_fifo_size in the set_serial_info()
call. If it's 0, then that call fails. It's not setserial's fault. I'm
appending a unified diff against the kernel serial driver code.

>
> Also, possibly not unrelated:
>
> # dmesg | grep TIO
> TIOCSER?WILD ioctl obsolete, ignored.
> TIOCSER?WILD ioctl obsolete, ignored.

Ok, in all honesty, I don't know about that one. :)

Derrik Pates
dpates@kalifornia.com
dpates@acm.org

-------- Patch appended below --------

--- serial.c.old Wed Jun 10 11:29:24 1998
+++ serial.c Wed Jun 10 11:29:43 1998
@@ -1662,7 +1662,7 @@
if ((new_serial.irq >= NR_IRQS) || (new_serial.port > 0xffff) ||
(new_serial.type < PORT_UNKNOWN) ||
(new_serial.type > PORT_MAX) ||
- (new_serial.xmit_fifo_size == 0)) {
+ (new_serial.xmit_fifo_size < 0)) {
return -EINVAL;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu