[LinuxPPS] test of 2.6.20-g15c540a8
Rodolfo Giometti
giometti at enneenne.com
Fri Feb 23 09:45:00 CET 2007
Reviewing the code I suspect that the IRQ is not correctly set... can
you please add this debugging messages and report the results when you
use the setserial command? I'd like to check if when setserial is
used the IRQ line is correctly enabled for DCD.
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 543c7cb..9a7b089 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -1999,13 +1999,18 @@ serial8250_set_termios(struct uart_port *port, struct kt
* CTS flow control flag and modem status interrupts
*/
up->ier &= ~UART_IER_MSI;
+printk("SETTING UART_IER\n");
if (!(up->bugs & UART_BUG_NOMSR) &&
UART_ENABLE_MS(&up->port, termios->c_cflag))
up->ier |= UART_IER_MSI;
if (up->capabilities & UART_CAP_UUE)
up->ier |= UART_IER_UUE | UART_IER_RTOIE;
if (up->port.flags & UPF_HARDPPS_CD)
+{
+printk("ENABLE UART_IER_MSI IRQ\n");
up->ier |= UART_IER_MSI; /* enable interrupts */
+}
+printk("SETTING UART_IER AS %x\n", up->ier);
serial_out(up, UART_IER, up->ier);
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index d1756c6..7aaf697 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -753,6 +753,7 @@ static int uart_set_info(struct uart_state *state,
goto exit;
port->flags = ((port->flags & ~UPF_USR_MASK) |
(new_flags & UPF_USR_MASK));
+printk("FLAGS1 %x\n", port->flags);
port->custom_divisor = new_serial.custom_divisor;
goto check_and_exit;
}
@@ -851,6 +852,7 @@ static int uart_set_info(struct uart_state *state,
port->uartclk = new_serial.baud_base * 16;
port->flags = (port->flags & ~UPF_CHANGE_MASK) |
(new_flags & UPF_CHANGE_MASK);
+printk("FLAGS2 %x\n", port->flags);
port->custom_divisor = new_serial.custom_divisor;
state->close_delay = close_delay;
state->closing_wait = closing_wait;
Thanks a lot,
Rodolfo
--
GNU/Linux Solutions e-mail: giometti at enneenne.com
Linux Device Driver giometti at gnudd.com
Embedded Systems giometti at linux.it
UNIX programming phone: +39 349 2432127
More information about the LinuxPPS
mailing list