tty: cp210x: Fix carrier handling
authorAlan Cox <alan@linux.intel.com>
Wed, 28 Oct 2009 20:12:33 +0000 (21:12 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 18 Nov 2009 00:42:43 +0000 (16:42 -0800)
commitd94c7bd4c1361cab58a21d530078c5673863dcc2
treee62139e4d349a68dd698070af7619a9ce5122386
parent4175f3e31cc7157669aa66d46dc79de6ae0126ce
tty: cp210x: Fix carrier handling

Original discussion:
http://thread.gmane.org/gmane.linux.usb.general/23217/focus=23248
or
http://marc.info/?l=linux-usb&m=125553790714133&w=2

9a68e39d4a701fb3be03cae9b462408664ebd205 broke carrier handling so that a
cp210x setup which needed the carrier lines set up (non CLOCAL) which did
not make a call which set the termios bits left the lines down even if
CLOCAL was not asserted.

Fix this not by reverting but by adding the proper dtr_rts and
carrier_raised methods. This both sets the modem lines properly and also
implements the correct blocking semantics for the port as required by
POSIX.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Reported-by: Karl Hiramoto <karl@hiramoto.org>
Tested-by: Karl Hiramoto <karl@hiramoto.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/cp210x.c