diff options
Diffstat (limited to 'drivers/serial/jsm/jsm_neo.c')
-rw-r--r-- | drivers/serial/jsm/jsm_neo.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c index 8be8da37f629..b2d6f5b1a7c2 100644 --- a/drivers/serial/jsm/jsm_neo.c +++ b/drivers/serial/jsm/jsm_neo.c | |||
@@ -581,8 +581,13 @@ static void neo_parse_modem(struct jsm_channel *ch, u8 signals) | |||
581 | return; | 581 | return; |
582 | 582 | ||
583 | /* Scrub off lower bits. They signify delta's, which I don't care about */ | 583 | /* Scrub off lower bits. They signify delta's, which I don't care about */ |
584 | msignals &= 0xf0; | 584 | /* Keep DDCD and DDSR though */ |
585 | msignals &= 0xf8; | ||
585 | 586 | ||
587 | if (msignals & UART_MSR_DDCD) | ||
588 | uart_handle_dcd_change(&ch->uart_port, msignals & UART_MSR_DCD); | ||
589 | if (msignals & UART_MSR_DDSR) | ||
590 | uart_handle_cts_change(&ch->uart_port, msignals & UART_MSR_CTS); | ||
586 | if (msignals & UART_MSR_DCD) | 591 | if (msignals & UART_MSR_DCD) |
587 | ch->ch_mistat |= UART_MSR_DCD; | 592 | ch->ch_mistat |= UART_MSR_DCD; |
588 | else | 593 | else |