diff options
author | Paul Chavent <Paul.Chavent@onera.fr> | 2013-09-16 08:40:59 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-26 09:45:40 -0700 |
commit | d14654dff7a3520b5220367b848732a0a8ccdabe (patch) | |
tree | 8755189e966805eb41254e110cff3fcb9c7ec763 | |
parent | db8f2aa358958fe5f82e5b9ffa6e0abbaa4fc236 (diff) | |
download | linux-d14654dff7a3520b5220367b848732a0a8ccdabe.tar.bz2 |
USB: serial: call handle_dcd_change in ftdi driver.
When the device receive a DCD status change, forward the signal to the
USB serial system. This way, we can detect, for instance, PPS pulses.
Signed-off-by: Paul Chavent <paul.chavent@onera.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index c45f9c0a1b34..f53298d32099 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -1966,8 +1966,16 @@ static int ftdi_process_packet(struct usb_serial_port *port, port->icount.dsr++; if (diff_status & FTDI_RS0_RI) port->icount.rng++; - if (diff_status & FTDI_RS0_RLSD) + if (diff_status & FTDI_RS0_RLSD) { + struct tty_struct *tty; + port->icount.dcd++; + tty = tty_port_tty_get(&port->port); + if (tty) + usb_serial_handle_dcd_change(port, tty, + status & FTDI_RS0_RLSD); + tty_kref_put(tty); + } wake_up_interruptible(&port->port.delta_msr_wait); priv->prev_status = status; |