Re: PROBLEM: Possible bug in drivers/char/serial.c (2.2.14)

From: Rogier Wolff (R.E.Wolff@BitWizard.nl)
Date: Sat Apr 22 2000 - 04:06:54 EST


root wrote:
> Possible bug in drivers/char/serial.c (2.2.14)
>
> Pcmcia serial_cs.o module assigns ttyS0 to pcmcia modem while ttyS0 is
> originally internal serial port. The problem was found in
> char/devices/serial.c. Version 2.2.12 of serial.c with the rest of
> 2.2.14 works fine. Difference is in line 1696:
>
> 2.2.12:
> uart_config[state->type].dfl_xmit_fifo_size;
> 2.2.14:
> uart_config[new_serial.type].dfl_xmit_fifo_size;

That's a bug I found/fixed. I think the 2.2.14 version is better than
the 2.2.12 version. Why do you think there is a problem with the new
version?

The bug was that if I told the kernel about a serial port with a a
different chip & FIFO depth as what was previously configured, it
would not use the NEW FIFO depth, but the old one.

So if I have a 16-byte-deep FIFO (hardware), then changing from 1 to
16 byte fifo would leave the FIFO depth at 1. This would work, (so
almost nobody would notice), but less than optimal.

However if I have a 1-byte deep FIFO, then changing it to 16 byte fifo
would still have it work (as the kernel would still be using 1 byte
fifo), but then telling the kernel that it actually has a 1 byte fifo
would break the serial port as NOW the kernel would start using the
non-existant 16 byte fifo.

                                Roger.

-- 
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
*       Common sense is the collection of                                *
******  prejudices acquired by age eighteen.   -- Albert Einstein ********

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:20 EST