diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-08 11:04:13 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-08 11:04:13 -0700 |
| commit | d45b8296a27902697867a18f638e846c84985cb0 (patch) | |
| tree | 6137eaa4cfbf78d6de99716ccabb9fe919dbe60e /usb | |
| parent | 5ac84e99a60c34d072b93427ce362057e7f6c518 (diff) | |
| download | patches-d45b8296a27902697867a18f638e846c84985cb0.tar.gz | |
staging patches and other fixes
Diffstat (limited to 'usb')
| -rw-r--r-- | usb/usb-serial-ftdi_sio-add-space-mark-parity.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/usb/usb-serial-ftdi_sio-add-space-mark-parity.patch b/usb/usb-serial-ftdi_sio-add-space-mark-parity.patch new file mode 100644 index 00000000000000..f130496e572de9 --- /dev/null +++ b/usb/usb-serial-ftdi_sio-add-space-mark-parity.patch @@ -0,0 +1,50 @@ +From r.koebler@yahoo.de Thu Oct 8 10:04:25 2009 +From: Roland Koebler <r.koebler@yahoo.de> +Date: Mon, 5 Oct 2009 19:58:56 +0200 +Subject: USB: serial: ftdi_sio: add space/mark parity +To: linux-usb@vger.kernel.org +Message-ID: <20091005175856.GA20249@localhost> +Content-Disposition: inline + + +From: Roland Koebler <r.koebler@yahoo.de> + +Add mark and space parity, since the device supports it. + +Signed-off-by: Roland Koebler <r.koebler@yahoo.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/serial/ftdi_sio.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +--- a/drivers/usb/serial/ftdi_sio.c ++++ b/drivers/usb/serial/ftdi_sio.c +@@ -2196,15 +2196,21 @@ static void ftdi_set_termios(struct tty_ + + /* Set number of data bits, parity, stop bits */ + +- termios->c_cflag &= ~CMSPAR; +- + urb_value = 0; + urb_value |= (cflag & CSTOPB ? FTDI_SIO_SET_DATA_STOP_BITS_2 : + FTDI_SIO_SET_DATA_STOP_BITS_1); +- urb_value |= (cflag & PARENB ? +- (cflag & PARODD ? FTDI_SIO_SET_DATA_PARITY_ODD : +- FTDI_SIO_SET_DATA_PARITY_EVEN) : +- FTDI_SIO_SET_DATA_PARITY_NONE); ++ if (cflag & PARENB) { ++ if (cflag & CMSPAR) ++ urb_value |= cflag & PARODD ? ++ FTDI_SIO_SET_DATA_PARITY_MARK : ++ FTDI_SIO_SET_DATA_PARITY_SPACE; ++ else ++ urb_value |= cflag & PARODD ? ++ FTDI_SIO_SET_DATA_PARITY_ODD : ++ FTDI_SIO_SET_DATA_PARITY_EVEN; ++ } else { ++ urb_value |= FTDI_SIO_SET_DATA_PARITY_NONE; ++ } + if (cflag & CSIZE) { + switch (cflag & CSIZE) { + case CS5: urb_value |= 5; dbg("Setting CS5"); break; |
