]> err.no Git - linux-2.6/blobdiff - drivers/serial/jsm/jsm_neo.c
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / drivers / serial / jsm / jsm_neo.c
index 8be8da37f629b86418d6d9a4ee671cbc8c975878..b7584ca55adef310231c074f30ba5cf438aa6cef 100644 (file)
@@ -581,8 +581,13 @@ static void neo_parse_modem(struct jsm_channel *ch, u8 signals)
                return;
 
        /* Scrub off lower bits. They signify delta's, which I don't care about */
-       msignals &= 0xf0;
+       /* Keep DDCD and DDSR though */
+       msignals &= 0xf8;
 
+       if (msignals & UART_MSR_DDCD)
+               uart_handle_dcd_change(&ch->uart_port, msignals & UART_MSR_DCD);
+       if (msignals & UART_MSR_DDSR)
+               uart_handle_cts_change(&ch->uart_port, msignals & UART_MSR_CTS);
        if (msignals & UART_MSR_DCD)
                ch->ch_mistat |= UART_MSR_DCD;
        else
@@ -993,7 +998,7 @@ static void neo_param(struct jsm_channel *ch)
                        {     50, B50     },
                };
 
-               cflag = C_BAUD(ch->uart_port.info->tty);
+               cflag = C_BAUD(ch->uart_port.info->port.tty);
                baud = 9600;
                for (i = 0; i < ARRAY_SIZE(baud_rates); i++) {
                        if (baud_rates[i].cflag == cflag) {