Messages in this thread | | | Date | Fri, 27 Jul 2007 13:48:14 -0700 | From | Lee Howard <> | Subject | Re: serial flow control appears broken |
| |
Paul Fulghum wrote:
> Tilman Schmidt wrote: > >> Could this be related? >> >> http://lkml.org/lkml/2007/7/18/245 >> >> Quote: >> "I've recently found (using 2.6.21.4) that configuring a serial ports >> (ST16654) which use the 8250 driver using setserial results in the >> UART's FIFOs being disabled (unless you specify autoconfig)." > > > That would make sense. > > Lee's error is a hardware FIFO overrun which could occur > if the FIFO is being disabled as described in your > link (by trying to set the uart type with setserial).
I'm not using setserial on this port, myself. If something in init is calling on setserial then I don't know about it.
That said, tests on the serial port from within the application show that xmit_fifo_size is set to 16 as it should be.
I wrote up a little test app:
struct serial_struct serial; ioctl(modemFd, TIOCGSERIAL, &serial); printf(" type: %d\n", serial.type); printf(" line: %d\n", serial.line); printf(" line: %u\n", serial.port); printf(" irq: %d\n", serial.irq); printf(" flags: %d\n", serial.flags); printf(" xmit_fifo_size: %d\n", serial.xmit_fifo_size); printf(" custom_divisor: %d\n", serial.custom_divisor); printf(" baud_base: %d\n", serial.baud_base); printf(" close_delay: %u\n", serial.close_delay); printf(" io_type: 0x%X\n", serial.io_type); printf("reserved_char[0]: 0x%X\n", serial.reserved_char[0]); printf(" hub6: %d\n", serial.hub6); printf(" closing_wait: %u\n", serial.closing_wait); printf(" closing_wait2: %u\n", serial.closing_wait2); printf(" iomem_reg_shift: %u\n", serial.iomem_reg_shift); printf(" port_high: %u\n", serial.port_high); printf(" reserved[0]: %d\n", serial.reserved[0]);
Here's the output:
type: 4 line: 1 line: 760 irq: 3 flags: 1358954688 xmit_fifo_size: 16 custom_divisor: 0 baud_base: 115200 close_delay: 500 io_type: 0x0 reserved_char[0]: 0x0 hub6: 0 closing_wait: 30000 closing_wait2: 0 iomem_reg_shift: 0 port_high: 0 reserved[0]: 0
Thanks,
Lee. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |