Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1391564

[PATCH v2 1/3] USB: serial: cp210x: Fixed RTS mode setting by the CRTSCTS flag.

Path csiph.com!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!gothmog.csi.it!bofh.it!news.nic.it!robomod
From Konstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v2 1/3] USB: serial: cp210x: Fixed RTS mode setting by the CRTSCTS flag.
Date Sat, 30 Apr 2016 04:30:02 +0200
Message-ID <rtsPo-eM-5@gated-at.bofh.it> (permalink)
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=iCSr2RoOf9K5HBBaVw8iORJtiMl+Z4Hn4Auoioee4IA=; b=bP3GuywQQbNWOPJktKIxsj9D3KkaXlhrcV6qug/2HsHovXJTkRzDsaUylGadMDa4Ff HwW5e19GPhWxOj2mmD5xW20A3E+ed4YrdMdhli7vSZcnOfqdTLH/I+5bN26vD/DSGcSd MCpIxWfX4QZuhjD9IiTEVGbmCmp+rABZF4SFNebYhy2QYjTYo+ncZspKV7DcncU1+VOH //aPH8sG3fYeDuyY7FofTnO1ROQerlvDPrzI3EuDZ+Q9I1OgdtWR2qjSdXO8LP0nTBz0 0U4qzIl8n3v/e0UHi1LY3FJGLhAWlI4ilOOrplXiEhE9kNsVZVQOj+9W2Yy5xcbgXXat VL4A==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=iCSr2RoOf9K5HBBaVw8iORJtiMl+Z4Hn4Auoioee4IA=; b=UGBUoSyN4WO+6B4P8ZRvwOBLhWnzqL56ae71B5hmkQhAQ8c50Ly8tHnhLBJJlen433 qpFezlq4eMulXJyoauF2EBHYO+cbIh7bYi5zAMi7vhFzY/pGyY15iK879+cT5tHQ/rdH /ni+jZlT8lqmVPRKCBjnIWFGP9u5V9NMeVuI0X1Kxv3ummp8EiYRrsKu+EhddU1yeuSs vtBMenQ81BUZydMMovjTmu89+51vTwdJvgzAfaCj+ADz8uWzfr0oUVFhIT6ahhr8zFdd APp1+vprbNejPJ6YKJhBoi/UzyikK3OhUh/PjLX87cFAqZXhxa48aq2flN+vp1DCFHfp RpHQ==
X-Gm-Message-State AOPr4FVjiU8rZy5mYy1DEmuTd4W3m1VvOVsonVsBmq9njA7Y1G95PkQZVD45pDYz/IF/vQ==
X-Received by 10.182.174.10 with SMTP id bo10mr11310026obc.38.1461982934405; Fri, 29 Apr 2016 19:22:14 -0700 (PDT)
X-Mailer git-send-email 1.8.4.5
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 43
Organization linux.* mail to news gateway
X-Original-Cc linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Konstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
X-Original-Date Fri, 29 Apr 2016 21:22:08 -0500
X-Original-Message-ID <1461982928-19629-1-git-send-email-konstantin.shkolnyy@gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1391564

Show key headers only | View raw


A bug in the CRTSCTS handling caused RTS to alternate between
CRTSCTS=0 => "RTS transmits active signal" and
CRTSCTS=1 => "RTS receives flow control"
instead of
CRTSCTS=0 => "RTS is statically active" and
CRTSCTS=1 => "RTS receives flow control"
This only happened after first having enabled CRTSCTS.

Signed-off-by: Konstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
---
Changes in v2:
Improved CRTSCTS fix based on feedback. Dropped get_termios error handling.

 drivers/usb/serial/cp210x.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index dd47823..abcdb63 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -163,10 +163,6 @@ static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */
 	{ USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */
 	{ USB_DEVICE(0x18EF, 0xE025) }, /* ELV Marble Sound Board 1 */
-	{ USB_DEVICE(0x1901, 0x0190) }, /* GE B850 CP2105 Recorder interface */
-	{ USB_DEVICE(0x1901, 0x0193) }, /* GE B650 CP2104 PMC interface */
-	{ USB_DEVICE(0x1901, 0x0194) },	/* GE Healthcare Remote Alarm Box */
-	{ USB_DEVICE(0x19CF, 0x3000) }, /* Parrot NMEA GPS Flight Recorder */
 	{ USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */
 	{ USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */
 	{ USB_DEVICE(0x1BA4, 0x0002) },	/* Silicon Labs 358x factory default */
@@ -967,8 +963,7 @@ static void cp210x_set_termios(struct tty_struct *tty,
 		} else {
 			modem_ctl[0] &= ~0x7B;
 			modem_ctl[0] |= 0x01;
-			/* FIXME - OR here instead of assignment looks wrong */
-			modem_ctl[4] |= 0x40;
+			modem_ctl[4] = 0x40;
 			dev_dbg(dev, "%s - flow control = NONE\n", __func__);
 		}
 
-- 
1.8.4.5

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH v2 1/3] USB: serial: cp210x: Fixed RTS mode setting by the CRTSCTS flag. Konstantin Shkolnyy <konstantin.shkolnyy@gmail.com> - 2016-04-30 04:30 +0200

csiph-web