Messages in this thread | | | Date | Thu, 10 Mar 2011 01:49:52 -0500 | From | Chuck Ebbert <> | Subject | Re: kernel BUG and freeze on cat /proc/tty/driver/serial |
| |
On Wed, 16 Feb 2011 17:17:28 +0100 "Mario 'BitKoenig' Holbe" <Mario.Holbe@TU-Ilmenau.DE> wrote:
> reading /proc/tty/driver/serial leads to a NULL pointer dereference > BUG and freeze on a serial-console enabled 2.6.35.{4,10,11} and > 2.6.37. 2.6.32.28 does fine without BUG and freeze. > > Fresh boot 2.6.35.11 into emergency... > # cat /proc/tty/driver/serial > [ 73.199568] BUG: unable to handle kernel NULL pointer dereference > at 00000099 [ 73.227373] IP: [<c11a8969>] tty_ldisc_try+0x10/0x35
The oops is here, in uart_handle_dcd_change() in serial_core.h:
struct tty_ldisc *ld = tty_ldisc_ref(port->tty);
(port->tty is NULL)
Called from check_modem_status() in 8250.c:
if (status & UART_MSR_DDCD) uart_handle_dcd_change(&up->port, status & UART_MSR_DCD);
So apparently the port has no tty, until you run "setserial -g", or else that somehow makes the DCD status appear unchanged later when reading /proc/tty/driver/serial.
| |