Messages in this thread | | | Date | Tue, 20 Feb 2007 13:29:09 +0000 | From | Frederik Deweerdt <> | Subject | Serial related oops |
| |
(Sorry for the resend, I forgot to cc the list) Hi Russell,
It seems that the following change in drivers/serial/8250.c
+ + /* + * Do a quick test to see if we receive an + * interrupt when we enable the TX irq. + */ + serial_outp(up, UART_IER, UART_IER_THRI); + lsr = serial_in(up, UART_LSR); + iir = serial_in(up, UART_IIR); + serial_outp(up, UART_IER, 0); + + if (lsr & UART_LSR_TEMT && iir & UART_IIR_NO_INT) { + if (!(up->capabilities & UART_BUG_TXEN)) { + up->capabilities |= UART_BUG_TXEN; + pr_debug("ttyS%d - enabling bad tx status workarounds\n", + port->line); + } + } else { + up->capabilities &= ~UART_BUG_TXEN; + } +
that was introduced in 2.6.12[1], is causing oopses on some hardware. In particular Jose Goncalves reported[2] an oops in 2.6.16.38 reproducible (after a few days of open()/close() on the serial port). He bisected this to that change -thanks for the long debugging Jose ;)-. and reverting that part of the 2.6.12 git patch seems to fix the problem. I was wondering: - what is the goal of the test? - could this be CONFIGed ?
Regards, Frederik
PS: CCing Andrew and Zang Roy-r61911 as they seemed to discuss this in http://lkml.org/lkml/2006/6/13/21
[1]http://lkml.org/lkml/2005/6/23/266 [2]http://lkml.org/lkml/2007/1/26/157 - 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/
| |