aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/spcp8x5.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/spcp8x5.c')
-rw-r--r--drivers/usb/serial/spcp8x5.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index 329d311a35d9..f88bc511da65 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -133,7 +133,7 @@ struct spcp8x5_usb_ctrl_arg {
133 133
134/* how come ??? */ 134/* how come ??? */
135#define UART_STATE 0x08 135#define UART_STATE 0x08
136#define UART_STATE_TRANSIENT_MASK 0x74 136#define UART_STATE_TRANSIENT_MASK 0x75
137#define UART_DCD 0x01 137#define UART_DCD 0x01
138#define UART_DSR 0x02 138#define UART_DSR 0x02
139#define UART_BREAK_ERROR 0x04 139#define UART_BREAK_ERROR 0x04
@@ -526,6 +526,10 @@ static void spcp8x5_process_read_urb(struct urb *urb)
526 /* overrun is special, not associated with a char */ 526 /* overrun is special, not associated with a char */
527 if (status & UART_OVERRUN_ERROR) 527 if (status & UART_OVERRUN_ERROR)
528 tty_insert_flip_char(tty, 0, TTY_OVERRUN); 528 tty_insert_flip_char(tty, 0, TTY_OVERRUN);
529
530 if (status & UART_DCD)
531 usb_serial_handle_dcd_change(port, tty,
532 priv->line_status & MSR_STATUS_LINE_DCD);
529 } 533 }
530 534
531 tty_insert_flip_string_fixed_flag(tty, data, tty_flag, 535 tty_insert_flip_string_fixed_flag(tty, data, tty_flag,
@@ -646,6 +650,7 @@ static struct usb_serial_driver spcp8x5_device = {
646 .name = "SPCP8x5", 650 .name = "SPCP8x5",
647 }, 651 },
648 .id_table = id_table, 652 .id_table = id_table,
653 .usb_driver = &spcp8x5_driver,
649 .num_ports = 1, 654 .num_ports = 1,
650 .open = spcp8x5_open, 655 .open = spcp8x5_open,
651 .dtr_rts = spcp8x5_dtr_rts, 656 .dtr_rts = spcp8x5_dtr_rts,