USB: serial: handle Data Carrier Detect changes
commitee3c0087cd62cd7dd83410726c18bbec3803c8dc
authorLibor Pechacek <lpechacek@suse.cz>
Fri, 14 Jan 2011 13:30:21 +0000 (14 14:30 +0100)
committerAK <andi@firstfloor.org>
Thu, 31 Mar 2011 18:57:38 +0000 (31 11:57 -0700)
tree9e1db8a621c8e9fe2102aa5631eae83ec57b5cbf
parentf1ae3bdce55f3f01f0509ffd88eba64b2294bcf0
USB: serial: handle Data Carrier Detect changes

commit d14fc1a74e846d7851f24fc9519fe87dc12a1231 upstream.

Alan's commit 335f8514f200e63d689113d29cb7253a5c282967 introduced
.carrier_raised function in several drivers.  That also means
tty_port_block_til_ready can now suspend the process trying to open the serial
port when Carrier Detect is low and put it into tty_port.open_wait queue.  We
need to wake up the process when Carrier Detect goes high and trigger TTY
hangup when CD goes low.

Some of the devices do not report modem status line changes, or at least we
don't understand the status message, so for those we remove .carrier_raised
again.

Signed-off-by: Libor Pechacek <lpechacek@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/usb/serial/ch341.c
drivers/usb/serial/cp210x.c
drivers/usb/serial/digi_acceleport.c
drivers/usb/serial/generic.c
drivers/usb/serial/keyspan_pda.c
drivers/usb/serial/pl2303.c
drivers/usb/serial/spcp8x5.c
include/linux/usb/serial.h